home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / lisp / kcl / akcl / akcl1615.lha / mp / mpi-sparc.s < prev    next >
Text File  |  1992-02-08  |  45KB  |  2,808 lines

  1. gcc2_compiled.:
  2. .text
  3.     .align 4
  4.     .global _mulsi
  5.     .proc 1
  6. _mulsi:
  7.     !#PROLOGUE# 0
  8.     save %sp,-112,%sp
  9.     !#PROLOGUE# 1
  10.     mov %i0,%l0
  11.     ld [%i1+4],%o1
  12.     sra %o1,24,%l2
  13.     sethi %hi(65535),%o0
  14.     or %o0,%lo(65535),%o0
  15.     cmp %l0,0
  16.     be L3
  17.     and %o1,%o0,%l1
  18.     cmp %l2,0
  19.     bne L2
  20.     cmp %l0,0
  21. L3:
  22.     sethi %hi(_gzero),%o0
  23.     b L11
  24.     ld [%o0+%lo(_gzero)],%i0
  25. L2:
  26.     bge L4
  27.     nop
  28.     subcc %g0,%l0,%l0
  29.     bpos L4
  30.     sub %g0,%l2,%l2
  31.     call _stoi,0
  32.     sethi %hi(-2147483648),%o0
  33.     call _mulii,0
  34.     mov %i1,%o1
  35.     b L11
  36.     mov %o0,%i0
  37. L4:
  38.     call _cgeti,0
  39.     add %l1,1,%o0
  40.     mov %o0,%i0
  41.     mov 0,%o2
  42.     sll %l1,2,%o0
  43.     add %i1,%o0,%i1
  44.     add %i0,%o0,%g2
  45.     addcc %l1,-2,%o3
  46.     be L7
  47.     add %g2,4,%g2
  48. L8:
  49.     add %g2,-4,%g2
  50.     mov %o2,%o1
  51.     add %i1,-4,%i1
  52.     mov %l0,%o0
  53.     ld [%i1],%l3
  54.      
  55.         or      %o0,%l3,%o4      
  56.         mov     %o0,%y
  57.         andncc  %o4,0xfff,%g0
  58.         be      2f
  59.         andcc   %g0,%g0,%o4
  60.         mulscc  %o4,%l3,%o4
  61.         mulscc  %o4,%l3,%o4
  62.         mulscc  %o4,%l3,%o4
  63.         mulscc  %o4,%l3,%o4
  64.         mulscc  %o4,%l3,%o4
  65.         mulscc  %o4,%l3,%o4
  66.         mulscc  %o4,%l3,%o4
  67.         mulscc  %o4,%l3,%o4
  68.         mulscc  %o4,%l3,%o4
  69.         mulscc  %o4,%l3,%o4
  70.         mulscc  %o4,%l3,%o4
  71.         mulscc  %o4,%l3,%o4
  72.         mulscc  %o4,%l3,%o4
  73.         mulscc  %o4,%l3,%o4
  74.         mulscc  %o4,%l3,%o4
  75.         mulscc  %o4,%l3,%o4
  76.         mulscc  %o4,%l3,%o4
  77.         mulscc  %o4,%l3,%o4
  78.         mulscc  %o4,%l3,%o4
  79.         mulscc  %o4,%l3,%o4
  80.         mulscc  %o4,%l3,%o4
  81.         mulscc  %o4,%l3,%o4
  82.         mulscc  %o4,%l3,%o4
  83.         mulscc  %o4,%l3,%o4
  84.         mulscc  %o4,%l3,%o4
  85.         mulscc  %o4,%l3,%o4
  86.         mulscc  %o4,%l3,%o4
  87.         mulscc  %o4,%l3,%o4
  88.         mulscc  %o4,%l3,%o4
  89.         mulscc  %o4,%l3,%o4
  90.         mulscc  %o4,%l3,%o4
  91.         mulscc  %o4,%l3,%o4
  92.         mulscc  %o4,%g0,%o4
  93.         tst     %l3
  94.         bl,a    1f
  95.         add     %o4,%o0,%o4
  96. 1:      mov     %o4,%o2
  97.         b       3f 
  98.         rd      %y,%o0
  99. 2:      clr     %o2
  100.         mulscc  %o4,%l3,%o4
  101.         mulscc  %o4,%l3,%o4
  102.         mulscc  %o4,%l3,%o4
  103.         mulscc  %o4,%l3,%o4
  104.         mulscc  %o4,%l3,%o4
  105.         mulscc  %o4,%l3,%o4
  106.         mulscc  %o4,%l3,%o4
  107.         mulscc  %o4,%l3,%o4
  108.         mulscc  %o4,%l3,%o4
  109.         mulscc  %o4,%l3,%o4
  110.         mulscc  %o4,%l3,%o4
  111.         mulscc  %o4,%l3,%o4
  112.         mulscc  %o4,%g0,%o4
  113.         rd      %y,%o5
  114.         sll     %o4,12,%o4
  115.         srl     %o5,20,%o5
  116.         or      %o5,%o4,%o0
  117. 3:       
  118.  
  119.     addcc %o1,%o0,%l3
  120.     addx %o2,%g0,%o2
  121.     addcc %o3,-1,%o3
  122.     bne L8
  123.     st %l3,[%g2]
  124. L7:
  125.     cmp %o2,0
  126.     be L9
  127.     sethi %hi(-65536),%o1
  128.     st %o2,[%g2-4]
  129.     ld [%i0+4],%o0
  130.     and %o0,%o1,%o0
  131.     add %o0,%l1,%o0
  132.     b L12
  133.     add %o0,1,%o0
  134. L9:
  135.     sethi %hi(_avma),%o1
  136.     ld [%o1+%lo(_avma)],%o0
  137.     add %o0,4,%o0
  138.     st %o0,[%o1+%lo(_avma)]
  139.     ld [%i0],%o0
  140.     add %o0,-1,%o0
  141.     st %o0,[%i0+4]
  142.     add %i0,4,%i0
  143.     ld [%i0+4],%o0
  144.     sethi %hi(-65536),%o1
  145.     and %o0,%o1,%o0
  146.     add %o0,%l1,%o0
  147. L12:
  148.     st %o0,[%i0+4]
  149.     ld [%i0+4],%o0
  150.     sethi %hi(16777215),%o1
  151.     or %o1,%lo(16777215),%o1
  152.     and %o0,%o1,%o0
  153.     sll %l2,24,%o1
  154.     add %o0,%o1,%o0
  155.     st %o0,[%i0+4]
  156. L11:
  157.     ret
  158.     restore
  159.     .align 4
  160.     .global _expi
  161.     .proc 1
  162. _expi:
  163.     !#PROLOGUE# 0
  164.     save %sp,-112,%sp
  165.     !#PROLOGUE# 1
  166.     ld [%i0+4],%o1
  167.     sethi %hi(65535),%o0
  168.     or %o0,%lo(65535),%o0
  169.     and %o1,%o0,%l0
  170.     cmp %l0,2
  171.     bne L14
  172.     nop
  173.     b L15
  174.     sethi %hi(-8388608),%i0
  175. L14:
  176.     call _bfffo,0
  177.     ld [%i0+8],%o0
  178.     add %l0,-2,%i0
  179.     sll %i0,5,%i0
  180.     sub %i0,%o0,%i0
  181.     add %i0,-1,%i0
  182. L15:
  183.     ret
  184.     restore
  185.     .align 4
  186.     .global _addsi
  187.     .proc 1
  188. _addsi:
  189.     !#PROLOGUE# 0
  190.     save %sp,-112,%sp
  191.     !#PROLOGUE# 1
  192.     orcc %i0,%g0,%l1
  193.     bne,a L17
  194.     ldsb [%i1+4],%l2
  195.     call _icopy,0
  196.     mov %i1,%o0
  197.     b L59
  198.     mov %o0,%i0
  199. L17:
  200.     cmp %l2,0
  201.     bne L18
  202.     cmp %l1,0
  203.     call _stoi,0
  204.     mov %l1,%o0
  205.     b L59
  206.     mov %o0,%i0
  207. L18:
  208.     bge,a L21
  209.     mov 1,%l3
  210.     subcc %g0,%l1,%l1
  211.     bpos L21
  212.     mov -1,%l3
  213.     sethi %hi(_MOST_NEGS),%o0
  214.     or %o0,%lo(_MOST_NEGS),%o0
  215.     call _addii,0
  216.     mov %i1,%o1
  217.     b L59
  218.     mov %o0,%i0
  219. L21:
  220.     ld [%i1+4],%o1
  221.     sethi %hi(65535),%o0
  222.     or %o0,%lo(65535),%o0
  223.     cmp %l3,%l2
  224.     bne L22
  225.     and %o1,%o0,%l0
  226.     mov %l1,%o1
  227.     sll %l0,2,%l2
  228.     add %l2,%i1,%o0
  229.     ld [%o0-4],%o0
  230.     add %o1,%o0,%o0
  231.     cmp %o0,%o1
  232.     bgeu L23
  233.     mov %o0,%l1
  234.     call _cgeti,0
  235.     add %l0,1,%o0
  236.     mov %o0,%i0
  237.     add %l0,-1,%o2
  238.     cmp %o2,2
  239.     ble L64
  240.     st %l1,[%i0+%l2]
  241.     sll %o2,2,%o0
  242.     mov %o0,%o1
  243.     b L60
  244.     add %o0,%i1,%o0
  245. L27:
  246.     cmp %o2,2
  247.     ble L64
  248.     st %g0,[%i0+%o1]
  249.     sll %o2,2,%o1
  250.     add %o1,%i1,%o0
  251. L60:
  252.     ld [%o0-4],%o0
  253.     cmp %o0,-1
  254.     be,a L27
  255.     add %o2,-1,%o2
  256.     cmp %o2,2
  257. L64:
  258.     ble L28
  259.     sll %o2,2,%o1
  260.     add %o1,%i1,%o0
  261.     ld [%o0-4],%o0
  262.     add %o0,1,%o0
  263.     b L61
  264.     st %o0,[%i0+%o1]
  265. L31:
  266.     add %o0,%i1,%o1
  267.     ld [%o1-4],%o1
  268.     st %o1,[%i0+%o0]
  269. L61:
  270.     add %o2,-1,%o2
  271.     cmp %o2,2
  272.     bg L31
  273.     sll %o2,2,%o0
  274.     ld [%i0],%o0
  275.     add %o0,-1,%o0
  276.     st %o0,[%i0+4]
  277.     st %o0,[%i0+8]
  278.     add %i0,4,%i0
  279.     sethi %hi(_avma),%o1
  280.     ld [%o1+%lo(_avma)],%o0
  281.     add %o0,4,%o0
  282.     b L33
  283.     st %o0,[%o1+%lo(_avma)]
  284. L28:
  285.     mov 1,%o0
  286.     st %o0,[%i0+8]
  287.     ld [%i0],%o0
  288.     b L33
  289.     st %o0,[%i0+4]
  290. L23:
  291.     call _cgeti,0
  292.     mov %l0,%o0
  293.     mov %o0,%i0
  294.     sll %l0,2,%o0
  295.     add %o0,%i0,%o0
  296.     st %l1,[%o0-4]
  297.     mov 1,%o2
  298.     add %l0,-1,%o0
  299.     cmp %o2,%o0
  300.     bge L33
  301.     mov %o0,%o3
  302. L37:
  303.     sll %o2,2,%o1
  304.     ld [%i1+%o1],%o0
  305.     add %o2,1,%o2
  306.     cmp %o2,%o3
  307.     bl L37
  308.     st %o0,[%i0+%o1]
  309. L33:
  310.     ld [%i0+4],%o0
  311.     sethi %hi(16777215),%o1
  312.     or %o1,%lo(16777215),%o1
  313.     and %o0,%o1,%o0
  314.     sll %l3,24,%o1
  315.     add %o0,%o1,%o0
  316.     b L59
  317.     st %o0,[%i0+4]
  318. L22:
  319.     cmp %l0,3
  320.     bne L39
  321.     sll %l0,2,%o0
  322.     ld [%i1+8],%o0
  323.     cmp %o0,%l1
  324.     bleu L40
  325.     nop
  326.     call _cgeti,0
  327.     mov %l0,%o0
  328.     mov %o0,%i0
  329.     sll %l2,24,%o0
  330.     add %o0,3,%o0
  331.     st %o0,[%i0+4]
  332.     ld [%i1+8],%o0
  333.     sub %o0,%l1,%o0
  334.     b L59
  335.     st %o0,[%i0+8]
  336. L40:
  337.     bne L41
  338.     sethi %hi(_gzero),%o0
  339.     b L59
  340.     ld [%o0+%lo(_gzero)],%i0
  341. L41:
  342.     call _cgeti,0
  343.     mov 3,%o0
  344.     mov %o0,%i0
  345.     sub %g0,%l2,%o0
  346.     sll %o0,24,%o0
  347.     add %o0,3,%o0
  348.     st %o0,[%i0+4]
  349.     ld [%i1+8],%o0
  350.     sub %l1,%o0,%o0
  351.     b L59
  352.     st %o0,[%i0+8]
  353. L39:
  354.     add %o0,%i1,%o0
  355.     ld [%o0-4],%o1
  356.     mov %l1,%o0
  357.     cmp %o1,%o0
  358.     bgeu L42
  359.     sub %o1,%o0,%l1
  360.     call _cgeti,0
  361.     mov %l0,%o0
  362.     mov %o0,%i0
  363.     sll %l0,2,%o0
  364.     add %o0,%i0,%o0
  365.     st %l1,[%o0-4]
  366.     add %l0,-2,%o2
  367.     sll %o2,2,%o0
  368.     mov %o0,%o1
  369.     ld [%i1+%o0],%o0
  370.     cmp %o0,0
  371.     bne,a L62
  372.     sll %o2,2,%o1
  373.     mov -1,%o3
  374.     st %o3,[%i0+%o1]
  375. L63:
  376.     add %o2,-1,%o2
  377.     sll %o2,2,%o1
  378.     ld [%i1+%o1],%o0
  379.     cmp %o0,0
  380.     be,a L63
  381.     st %o3,[%i0+%o1]
  382.     sll %o2,2,%o1
  383. L62:
  384.     ld [%i1+%o1],%o0
  385.     add %o0,-1,%o0
  386.     cmp %o2,2
  387.     bg L48
  388.     st %o0,[%i0+%o1]
  389.     cmp %o0,0
  390.     be,a L47
  391.     ld [%i0],%o0
  392. L48:
  393.     add %o2,-1,%o2
  394.     cmp %o2,0
  395.     ble L38
  396.     nop
  397. L52:
  398.     sll %o2,2,%o1
  399.     ld [%i1+%o1],%o0
  400.     add %o2,-1,%o2
  401.     cmp %o2,0
  402.     bg L52
  403.     st %o0,[%i0+%o1]
  404.     b,a L38
  405. L47:
  406.     add %o0,-1,%o0
  407.     st %o0,[%i0+4]
  408.     st %o0,[%i0+8]
  409.     add %i0,4,%i0
  410.     sethi %hi(_avma),%o1
  411.     ld [%o1+%lo(_avma)],%o0
  412.     add %o0,4,%o0
  413.     st %o0,[%o1+%lo(_avma)]
  414.     ld [%i0+4],%o1
  415.     sethi %hi(16777215),%o0
  416.     or %o0,%lo(16777215),%o0
  417.     and %o1,%o0,%o1
  418.     sll %l2,24,%o0
  419.     add %o1,%o0,%o1
  420.     b L59
  421.     st %o1,[%i0+4]
  422. L42:
  423.     call _cgeti,0
  424.     mov %l0,%o0
  425.     mov %o0,%i0
  426.     sll %l0,2,%o0
  427.     add %o0,%i0,%o0
  428.     st %l1,[%o0-4]
  429.     mov 1,%o2
  430.     add %l0,-1,%o0
  431.     cmp %o2,%o0
  432.     bge L59
  433.     mov %o0,%o3
  434. L58:
  435.     sll %o2,2,%o1
  436.     ld [%i1+%o1],%o0
  437.     add %o2,1,%o2
  438.     cmp %o2,%o3
  439.     bl L58
  440.     st %o0,[%i0+%o1]
  441. L38:
  442. L59:
  443.     ret
  444.     restore
  445.     .align 4
  446.     .global _addii
  447.     .proc 1
  448. _addii:
  449.     !#PROLOGUE# 0
  450.     save %sp,-112,%sp
  451.     !#PROLOGUE# 1
  452.     mov %i0,%l0
  453.     ld [%l0+4],%o0
  454.     sethi %hi(65535),%o1
  455.     or %o1,%lo(65535),%o1
  456.     and %o0,%o1,%l1
  457.     ld [%i1+4],%o0
  458.     and %o0,%o1,%l2
  459.     cmp %l1,%l2
  460.     bge,a L188
  461.     ldsb [%i1+4],%o5
  462.     mov %i1,%l0
  463.     mov %i0,%i1
  464.     mov %l1,%l3
  465.     mov %l2,%l1
  466.     mov %l3,%l2
  467.     ldsb [%i1+4],%o5
  468. L188:
  469.     cmp %o5,0
  470.     bne,a L67
  471.     ldsb [%l0+4],%l3
  472.     call _icopy,0
  473.     mov %l0,%o0
  474.     b L185
  475.     mov %o0,%i0
  476. L67:
  477.     cmp %l3,%o5
  478.     bne L68
  479.     cmp %l1,%l2
  480.     call _cgeti,0
  481.     add %l1,1,%o0
  482.     mov %o0,%i0
  483.     mov 0,%o2
  484.     sll %l1,2,%o0
  485.     add %i0,%o0,%o4
  486.     add %o4,4,%o4
  487.     add %l0,%o0,%o3
  488.     sll %l2,2,%o0
  489.     add %i1,%o0,%o1
  490.     add %l2,-2,%o5
  491.     sethi %hi(L106),%o0
  492.     or %o0,%lo(L106),%g2
  493.     add %o5,-1,%o0
  494. L204:
  495.     cmp %o0,15
  496.     bgu L74
  497.     sll %o0,2,%o0
  498.     ld [%o0+%g2],%o0
  499.     jmp %o0
  500.     nop
  501. L106:
  502.     .word L104
  503.     .word L102
  504.     .word L100
  505.     .word L98
  506.     .word L96
  507.     .word L94
  508.     .word L92
  509.     .word L90
  510.     .word L88
  511.     .word L86
  512.     .word L84
  513.     .word L82
  514.     .word L80
  515.     .word L78
  516.     .word L76
  517.     .word L74
  518. L74:
  519.     subcc %g0,%o2,%g0
  520.     b L75
  521.     add %o4,-4,%o4
  522. L76:
  523.     subcc %g0,%o2,%g0
  524.     b L189
  525.     add %o4,-4,%o4
  526. L78:
  527.     subcc %g0,%o2,%g0
  528.     b L190
  529.     add %o4,-4,%o4
  530. L80:
  531.     subcc %g0,%o2,%g0
  532.     b L191
  533.     add %o4,-4,%o4
  534. L82:
  535.     subcc %g0,%o2,%g0
  536.     b L192
  537.     add %o4,-4,%o4
  538. L84:
  539.     subcc %g0,%o2,%g0
  540.     b L193
  541.     add %o4,-4,%o4
  542. L86:
  543.     subcc %g0,%o2,%g0
  544.     b L194
  545.     add %o4,-4,%o4
  546. L88:
  547.     subcc %g0,%o2,%g0
  548.     b L195
  549.     add %o4,-4,%o4
  550. L90:
  551.     subcc %g0,%o2,%g0
  552.     b L196
  553.     add %o4,-4,%o4
  554. L92:
  555.     subcc %g0,%o2,%g0
  556.     b L197
  557.     add %o4,-4,%o4
  558. L94:
  559.     subcc %g0,%o2,%g0
  560.     b L198
  561.     add %o4,-4,%o4
  562. L96:
  563.     subcc %g0,%o2,%g0
  564.     b L199
  565.     add %o4,-4,%o4
  566. L98:
  567.     subcc %g0,%o2,%g0
  568.     b L200
  569.     add %o4,-4,%o4
  570. L100:
  571.     subcc %g0,%o2,%g0
  572.     b L201
  573.     add %o4,-4,%o4
  574. L102:
  575.     subcc %g0,%o2,%g0
  576.     b L202
  577.     add %o4,-4,%o4
  578. L104:
  579.     subcc %g0,%o2,%g0
  580.     b L203
  581.     add %o4,-4,%o4
  582. L75:
  583.     add %o3,-4,%o3
  584.     add %o1,-4,%o1
  585.     ld [%o3],%l5
  586.     ld [%o1],%l6
  587.     addxcc %l5,%l6,%l5
  588.     st %l5,[%o4]
  589.     add %o4,-4,%o4
  590. L189:
  591.     add %o3,-4,%o3
  592.     add %o1,-4,%o1
  593.     ld [%o3],%l4
  594.     ld [%o1],%l5
  595.     addxcc %l4,%l5,%l4
  596.     st %l4,[%o4]
  597.     add %o4,-4,%o4
  598. L190:
  599.     add %o3,-4,%o3
  600.     add %o1,-4,%o1
  601.     ld [%o3],%l6
  602.     ld [%o1],%l4
  603.     addxcc %l6,%l4,%l6
  604.     st %l6,[%o4]
  605.     add %o4,-4,%o4
  606. L191:
  607.     add %o3,-4,%o3
  608.     add %o1,-4,%o1
  609.     ld [%o3],%l5
  610.     ld [%o1],%l6
  611.     addxcc %l5,%l6,%l5
  612.     st %l5,[%o4]
  613.     add %o4,-4,%o4
  614. L192:
  615.     add %o3,-4,%o3
  616.     add %o1,-4,%o1
  617.     ld [%o3],%l4
  618.     ld [%o1],%l5
  619.     addxcc %l4,%l5,%l4
  620.     st %l4,[%o4]
  621.     add %o4,-4,%o4
  622. L193:
  623.     add %o3,-4,%o3
  624.     add %o1,-4,%o1
  625.     ld [%o3],%l6
  626.     ld [%o1],%l4
  627.     addxcc %l6,%l4,%l6
  628.     st %l6,[%o4]
  629.     add %o4,-4,%o4
  630. L194:
  631.     add %o3,-4,%o3
  632.     add %o1,-4,%o1
  633.     ld [%o3],%l5
  634.     ld [%o1],%l6
  635.     addxcc %l5,%l6,%l5
  636.     st %l5,[%o4]
  637.     add %o4,-4,%o4
  638. L195:
  639.     add %o3,-4,%o3
  640.     add %o1,-4,%o1
  641.     ld [%o3],%l4
  642.     ld [%o1],%l5
  643.     addxcc %l4,%l5,%l4
  644.     st %l4,[%o4]
  645.     add %o4,-4,%o4
  646. L196:
  647.     add %o3,-4,%o3
  648.     add %o1,-4,%o1
  649.     ld [%o3],%l6
  650.     ld [%o1],%l4
  651.     addxcc %l6,%l4,%l6
  652.     st %l6,[%o4]
  653.     add %o4,-4,%o4
  654. L197:
  655.     add %o3,-4,%o3
  656.     add %o1,-4,%o1
  657.     ld [%o3],%l5
  658.     ld [%o1],%l6
  659.     addxcc %l5,%l6,%l5
  660.     st %l5,[%o4]
  661.     add %o4,-4,%o4
  662. L198:
  663.     add %o3,-4,%o3
  664.     add %o1,-4,%o1
  665.     ld [%o3],%l4
  666.     ld [%o1],%l5
  667.     addxcc %l4,%l5,%l4
  668.     st %l4,[%o4]
  669.     add %o4,-4,%o4
  670. L199:
  671.     add %o3,-4,%o3
  672.     add %o1,-4,%o1
  673.     ld [%o3],%l6
  674.     ld [%o1],%l4
  675.     addxcc %l6,%l4,%l6
  676.     st %l6,[%o4]
  677.     add %o4,-4,%o4
  678. L200:
  679.     add %o3,-4,%o3
  680.     add %o1,-4,%o1
  681.     ld [%o3],%l5
  682.     ld [%o1],%l6
  683.     addxcc %l5,%l6,%l5
  684.     st %l5,[%o4]
  685.     add %o4,-4,%o4
  686. L201:
  687.     add %o3,-4,%o3
  688.     add %o1,-4,%o1
  689.     ld [%o3],%l4
  690.     ld [%o1],%l5
  691.     addxcc %l4,%l5,%l4
  692.     st %l4,[%o4]
  693.     add %o4,-4,%o4
  694. L202:
  695.     add %o3,-4,%o3
  696.     add %o1,-4,%o1
  697.     ld [%o3],%l6
  698.     ld [%o1],%l4
  699.     addxcc %l6,%l4,%l6
  700.     st %l6,[%o4]
  701.     add %o4,-4,%o4
  702. L203:
  703.     add %o3,-4,%o3
  704.     add %o1,-4,%o1
  705.     ld [%o3],%l5
  706.     ld [%o1],%l6
  707.     addxcc %l5,%l6,%l5
  708.     st %l5,[%o4]
  709.     addx %g0,%g0,%o2
  710.     add %o5,-16,%o5
  711.     cmp %o5,0
  712.     bg L204
  713.     add %o5,-1,%o0
  714.     cmp %o2,0
  715.     be L107
  716.     add %l0,8,%o2
  717. L108:
  718.     add %o3,-4,%o3
  719.     cmp %o3,%o2
  720.     blu L109
  721.     mov %o3,%o1
  722.     ld [%o3],%o0
  723.     cmp %o0,-1
  724.     bne,a L110
  725.     add %o4,-4,%o4
  726.     add %o4,-4,%o4
  727.     b L108
  728.     st %g0,[%o4]
  729. L110:
  730.     ld [%o1],%o0
  731.     b L187
  732.     add %o0,1,%o0
  733. L114:
  734.     add %o4,-4,%o4
  735.     ld [%o1],%o0
  736. L187:
  737.     st %o0,[%o4]
  738.     add %o3,-4,%o3
  739.     cmp %o3,%o2
  740.     bgeu L114
  741.     mov %o3,%o1
  742.     b L205
  743.     ld [%i0],%o0
  744. L109:
  745.     mov 1,%o0
  746.     st %o0,[%i0+8]
  747.     ld [%l0+4],%o0
  748.     add %o0,1,%o0
  749.     b L185
  750.     st %o0,[%i0+4]
  751. L107:
  752.     subcc %l1,%l2,%o2
  753.     be,a L205
  754.     ld [%i0],%o0
  755. L119:
  756.     add %o4,-4,%o4
  757.     add %o3,-4,%o3
  758.     ld [%o3],%o0
  759.     addcc %o2,-1,%o2
  760.     bne L119
  761.     st %o0,[%o4]
  762.     ld [%i0],%o0
  763. L205:
  764.     add %o0,-1,%o0
  765.     st %o0,[%i0+4]
  766.     ld [%l0+4],%o0
  767.     st %o0,[%i0+8]
  768.     add %i0,4,%i0
  769.     sethi %hi(_avma),%o1
  770.     ld [%o1+%lo(_avma)],%o0
  771.     add %o0,4,%o0
  772.     b L185
  773.     st %o0,[%o1+%lo(_avma)]
  774. L68:
  775.     bne L121
  776.     add %l0,8,%o3
  777.     addcc %l1,-2,%o2
  778.     be L129
  779.     add %i1,8,%o1
  780.     ld [%o3],%o4
  781. L206:
  782.     add %o3,4,%o3
  783.     ld [%o1],%o0
  784.     cmp %o0,%o4
  785.     bgu L186
  786.     add %o1,4,%o1
  787.     cmp %o4,%o0
  788.     bgu L121
  789.     addcc %o2,-1,%o2
  790.     bne,a L206
  791.     ld [%o3],%o4
  792. L129:
  793.     sethi %hi(_gzero),%o0
  794.     b L185
  795.     ld [%o0+%lo(_gzero)],%i0
  796. L186:
  797.     mov %l0,%i0
  798.     mov %i1,%l0
  799.     mov %i0,%i1
  800.     mov %o5,%l3
  801. L121:
  802.     call _cgeti,0
  803.     mov %l1,%o0
  804.     mov %o0,%i0
  805.     mov 0,%o2
  806.     sll %l1,2,%o0
  807.     add %l0,%o0,%o3
  808.     sll %l2,2,%o1
  809.     add %i1,%o1,%o1
  810.     add %i0,%o0,%o4
  811.     add %l2,-2,%o5
  812.     sethi %hi(L167),%o0
  813.     or %o0,%lo(L167),%g2
  814.     add %o5,-1,%o0
  815. L222:
  816.     cmp %o0,15
  817.     bgu L135
  818.     sll %o0,2,%o0
  819.     ld [%o0+%g2],%o0
  820.     jmp %o0
  821.     nop
  822. L167:
  823.     .word L165
  824.     .word L163
  825.     .word L161
  826.     .word L159
  827.     .word L157
  828.     .word L155
  829.     .word L153
  830.     .word L151
  831.     .word L149
  832.     .word L147
  833.     .word L145
  834.     .word L143
  835.     .word L141
  836.     .word L139
  837.     .word L137
  838.     .word L135
  839. L135:
  840.     subcc %g0,%o2,%g0
  841.     b L136
  842.     add %o4,-4,%o4
  843. L137:
  844.     subcc %g0,%o2,%g0
  845.     b L207
  846.     add %o4,-4,%o4
  847. L139:
  848.     subcc %g0,%o2,%g0
  849.     b L208
  850.     add %o4,-4,%o4
  851. L141:
  852.     subcc %g0,%o2,%g0
  853.     b L209
  854.     add %o4,-4,%o4
  855. L143:
  856.     subcc %g0,%o2,%g0
  857.     b L210
  858.     add %o4,-4,%o4
  859. L145:
  860.     subcc %g0,%o2,%g0
  861.     b L211
  862.     add %o4,-4,%o4
  863. L147:
  864.     subcc %g0,%o2,%g0
  865.     b L212
  866.     add %o4,-4,%o4
  867. L149:
  868.     subcc %g0,%o2,%g0
  869.     b L213
  870.     add %o4,-4,%o4
  871. L151:
  872.     subcc %g0,%o2,%g0
  873.     b L214
  874.     add %o4,-4,%o4
  875. L153:
  876.     subcc %g0,%o2,%g0
  877.     b L215
  878.     add %o4,-4,%o4
  879. L155:
  880.     subcc %g0,%o2,%g0
  881.     b L216
  882.     add %o4,-4,%o4
  883. L157:
  884.     subcc %g0,%o2,%g0
  885.     b L217
  886.     add %o4,-4,%o4
  887. L159:
  888.     subcc %g0,%o2,%g0
  889.     b L218
  890.     add %o4,-4,%o4
  891. L161:
  892.     subcc %g0,%o2,%g0
  893.     b L219
  894.     add %o4,-4,%o4
  895. L163:
  896.     subcc %g0,%o2,%g0
  897.     b L220
  898.     add %o4,-4,%o4
  899. L165:
  900.     subcc %g0,%o2,%g0
  901.     b L221
  902.     add %o4,-4,%o4
  903. L136:
  904.     add %o3,-4,%o3
  905.     add %o1,-4,%o1
  906.     ld [%o3],%l4
  907.     ld [%o1],%l5
  908.     subxcc %l4,%l5,%l4
  909.     st %l4,[%o4]
  910.     add %o4,-4,%o4
  911. L207:
  912.     add %o3,-4,%o3
  913.     add %o1,-4,%o1
  914.     ld [%o3],%l6
  915.     ld [%o1],%l4
  916.     subxcc %l6,%l4,%l6
  917.     st %l6,[%o4]
  918.     add %o4,-4,%o4
  919. L208:
  920.     add %o3,-4,%o3
  921.     add %o1,-4,%o1
  922.     ld [%o3],%l5
  923.     ld [%o1],%l6
  924.     subxcc %l5,%l6,%l5
  925.     st %l5,[%o4]
  926.     add %o4,-4,%o4
  927. L209:
  928.     add %o3,-4,%o3
  929.     add %o1,-4,%o1
  930.     ld [%o3],%l4
  931.     ld [%o1],%l5
  932.     subxcc %l4,%l5,%l4
  933.     st %l4,[%o4]
  934.     add %o4,-4,%o4
  935. L210:
  936.     add %o3,-4,%o3
  937.     add %o1,-4,%o1
  938.     ld [%o3],%l6
  939.     ld [%o1],%l4
  940.     subxcc %l6,%l4,%l6
  941.     st %l6,[%o4]
  942.     add %o4,-4,%o4
  943. L211:
  944.     add %o3,-4,%o3
  945.     add %o1,-4,%o1
  946.     ld [%o3],%l5
  947.     ld [%o1],%l6
  948.     subxcc %l5,%l6,%l5
  949.     st %l5,[%o4]
  950.     add %o4,-4,%o4
  951. L212:
  952.     add %o3,-4,%o3
  953.     add %o1,-4,%o1
  954.     ld [%o3],%l4
  955.     ld [%o1],%l5
  956.     subxcc %l4,%l5,%l4
  957.     st %l4,[%o4]
  958.     add %o4,-4,%o4
  959. L213:
  960.     add %o3,-4,%o3
  961.     add %o1,-4,%o1
  962.     ld [%o3],%l6
  963.     ld [%o1],%l4
  964.     subxcc %l6,%l4,%l6
  965.     st %l6,[%o4]
  966.     add %o4,-4,%o4
  967. L214:
  968.     add %o3,-4,%o3
  969.     add %o1,-4,%o1
  970.     ld [%o3],%l5
  971.     ld [%o1],%l6
  972.     subxcc %l5,%l6,%l5
  973.     st %l5,[%o4]
  974.     add %o4,-4,%o4
  975. L215:
  976.     add %o3,-4,%o3
  977.     add %o1,-4,%o1
  978.     ld [%o3],%l4
  979.     ld [%o1],%l5
  980.     subxcc %l4,%l5,%l4
  981.     st %l4,[%o4]
  982.     add %o4,-4,%o4
  983. L216:
  984.     add %o3,-4,%o3
  985.     add %o1,-4,%o1
  986.     ld [%o3],%l6
  987.     ld [%o1],%l4
  988.     subxcc %l6,%l4,%l6
  989.     st %l6,[%o4]
  990.     add %o4,-4,%o4
  991. L217:
  992.     add %o3,-4,%o3
  993.     add %o1,-4,%o1
  994.     ld [%o3],%l5
  995.     ld [%o1],%l6
  996.     subxcc %l5,%l6,%l5
  997.     st %l5,[%o4]
  998.     add %o4,-4,%o4
  999. L218:
  1000.     add %o3,-4,%o3
  1001.     add %o1,-4,%o1
  1002.     ld [%o3],%l4
  1003.     ld [%o1],%l5
  1004.     subxcc %l4,%l5,%l4
  1005.     st %l4,[%o4]
  1006.     add %o4,-4,%o4
  1007. L219:
  1008.     add %o3,-4,%o3
  1009.     add %o1,-4,%o1
  1010.     ld [%o3],%l6
  1011.     ld [%o1],%l4
  1012.     subxcc %l6,%l4,%l6
  1013.     st %l6,[%o4]
  1014.     add %o4,-4,%o4
  1015. L220:
  1016.     add %o3,-4,%o3
  1017.     add %o1,-4,%o1
  1018.     ld [%o3],%l5
  1019.     ld [%o1],%l6
  1020.     subxcc %l5,%l6,%l5
  1021.     st %l5,[%o4]
  1022.     add %o4,-4,%o4
  1023. L221:
  1024.     add %o3,-4,%o3
  1025.     add %o1,-4,%o1
  1026.     ld [%o3],%l4
  1027.     ld [%o1],%l5
  1028.     subxcc %l4,%l5,%l4
  1029.     st %l4,[%o4]
  1030.     addx %g0,%g0,%o2
  1031.     add %o5,-16,%o5
  1032.     cmp %o5,0
  1033.     bg L222
  1034.     add %o5,-1,%o0
  1035.     cmp %o2,0
  1036.     be,a L168
  1037.     subcc %l1,%l2,%o5
  1038.     add %o3,-4,%o3
  1039.     ld [%o3],%o0
  1040.     cmp %o0,0
  1041.     bne L223
  1042.     add %l0,8,%o1
  1043.     mov -1,%o1
  1044.     add %o4,-4,%o4
  1045. L224:
  1046.     st %o1,[%o4]
  1047.     add %o3,-4,%o3
  1048.     ld [%o3],%o0
  1049.     cmp %o0,0
  1050.     be,a L224
  1051.     add %o4,-4,%o4
  1052.     add %l0,8,%o1
  1053. L223:
  1054.     cmp %o3,%o1
  1055.     blu L176
  1056.     add %o0,-1,%o0
  1057.     add %o4,-4,%o4
  1058.     st %o0,[%o4]
  1059.     add %o3,-4,%o3
  1060.     cmp %o3,%o1
  1061.     blu L176
  1062.     mov %o3,%o0
  1063. L175:
  1064.     add %o4,-4,%o4
  1065.     ld [%o0],%o0
  1066.     st %o0,[%o4]
  1067.     add %o3,-4,%o3
  1068.     cmp %o3,%o1
  1069.     bgeu L175
  1070.     mov %o3,%o0
  1071.     b L225
  1072.     ld [%i0+8],%o0
  1073. L168:
  1074.     be,a L225
  1075.     ld [%i0+8],%o0
  1076. L179:
  1077.     add %o4,-4,%o4
  1078.     add %o3,-4,%o3
  1079.     ld [%o3],%o0
  1080.     addcc %o5,-1,%o5
  1081.     bne L179
  1082.     st %o0,[%o4]
  1083. L176:
  1084.     ld [%i0+8],%o0
  1085. L225:
  1086.     cmp %o0,0
  1087.     be,a L180
  1088.     ld [%i0+12],%o0
  1089.     ld [%l0+4],%o0
  1090.     b L185
  1091.     st %o0,[%i0+4]
  1092. L180:
  1093.     cmp %o0,0
  1094.     bne L183
  1095.     add %i0,12,%o4
  1096.     add %o4,4,%o4
  1097. L226:
  1098.     ld [%o4],%o0
  1099.     cmp %o0,0
  1100.     be,a L226
  1101.     add %o4,4,%o4
  1102. L183:
  1103.     add %o4,-8,%o4
  1104.     sub %o4,%i0,%o5
  1105.     sra %o5,2,%o5
  1106.     ld [%i0],%o1
  1107.     sub %o1,%o5,%o1
  1108.     st %o1,[%o4]
  1109.     st %o1,[%o4+4]
  1110.     mov %o4,%i0
  1111.     sethi %hi(16777215),%o0
  1112.     or %o0,%lo(16777215),%o0
  1113.     and %o1,%o0,%o1
  1114.     sll %l3,24,%o0
  1115.     add %o1,%o0,%o1
  1116.     st %o1,[%i0+4]
  1117.     sethi %hi(_avma),%o2
  1118.     sll %o5,2,%o0
  1119.     ld [%o2+%lo(_avma)],%o1
  1120.     add %o0,%o1,%o0
  1121.     st %o0,[%o2+%lo(_avma)]
  1122. L185:
  1123.     ret
  1124.     restore
  1125.     .align 4
  1126.     .global _mulss
  1127.     .proc 1
  1128. _mulss:
  1129.     !#PROLOGUE# 0
  1130.     save %sp,-112,%sp
  1131.     !#PROLOGUE# 1
  1132.     orcc %i0,%g0,%o0
  1133.     be L229
  1134.     cmp %i1,0
  1135.     bne L228
  1136.     cmp %o0,0
  1137. L229:
  1138.     sethi %hi(_gzero),%o0
  1139.     b L237
  1140.     ld [%o0+%lo(_gzero)],%i0
  1141. L228:
  1142.     bge L230
  1143.     mov 1,%l0
  1144.     subcc %g0,%o0,%o0
  1145.     bpos L230
  1146.     mov -1,%l0
  1147.     call _stoi,0
  1148.     nop
  1149.     mov %o0,%o1
  1150.     call _mulsi,0
  1151.     mov %i1,%o0
  1152.     b L237
  1153.     mov %o0,%i0
  1154. L230:
  1155.     cmp %i1,0
  1156.     bge L238
  1157.     mov %o0,%l1
  1158.     subcc %g0,%i1,%i1
  1159.     bpos L238
  1160.     sub %g0,%l0,%l0
  1161.     cmp %l0,0
  1162.     bg L234
  1163.     mov %o0,%o1
  1164.     sub %g0,%o0,%o1
  1165. L234:
  1166.     mov %o1,%o0
  1167.     sethi %hi(_ABS_MOST_NEGS),%o1
  1168.     call _mulsi,0
  1169.     or %o1,%lo(_ABS_MOST_NEGS),%o1
  1170.     b L237
  1171.     mov %o0,%i0
  1172. L238:
  1173.      
  1174.         or      %l1,%i1,%o4      
  1175.         mov     %l1,%y
  1176.         andncc  %o4,0xfff,%g0
  1177.         be      2f
  1178.         andcc   %g0,%g0,%o4
  1179.         mulscc  %o4,%i1,%o4
  1180.         mulscc  %o4,%i1,%o4
  1181.         mulscc  %o4,%i1,%o4
  1182.         mulscc  %o4,%i1,%o4
  1183.         mulscc  %o4,%i1,%o4
  1184.         mulscc  %o4,%i1,%o4
  1185.         mulscc  %o4,%i1,%o4
  1186.         mulscc  %o4,%i1,%o4
  1187.         mulscc  %o4,%i1,%o4
  1188.         mulscc  %o4,%i1,%o4
  1189.         mulscc  %o4,%i1,%o4
  1190.         mulscc  %o4,%i1,%o4
  1191.         mulscc  %o4,%i1,%o4
  1192.         mulscc  %o4,%i1,%o4
  1193.         mulscc  %o4,%i1,%o4
  1194.         mulscc  %o4,%i1,%o4
  1195.         mulscc  %o4,%i1,%o4
  1196.         mulscc  %o4,%i1,%o4
  1197.         mulscc  %o4,%i1,%o4
  1198.         mulscc  %o4,%i1,%o4
  1199.         mulscc  %o4,%i1,%o4
  1200.         mulscc  %o4,%i1,%o4
  1201.         mulscc  %o4,%i1,%o4
  1202.         mulscc  %o4,%i1,%o4
  1203.         mulscc  %o4,%i1,%o4
  1204.         mulscc  %o4,%i1,%o4
  1205.         mulscc  %o4,%i1,%o4
  1206.         mulscc  %o4,%i1,%o4
  1207.         mulscc  %o4,%i1,%o4
  1208.         mulscc  %o4,%i1,%o4
  1209.         mulscc  %o4,%i1,%o4
  1210.         mulscc  %o4,%i1,%o4
  1211.         mulscc  %o4,%g0,%o4
  1212.         tst     %i1
  1213.         bl,a    1f
  1214.         add     %o4,%l1,%o4
  1215. 1:      mov     %o4,%o2
  1216.         b       3f 
  1217.         rd      %y,%l1
  1218. 2:      clr     %o2
  1219.         mulscc  %o4,%i1,%o4
  1220.         mulscc  %o4,%i1,%o4
  1221.         mulscc  %o4,%i1,%o4
  1222.         mulscc  %o4,%i1,%o4
  1223.         mulscc  %o4,%i1,%o4
  1224.         mulscc  %o4,%i1,%o4
  1225.         mulscc  %o4,%i1,%o4
  1226.         mulscc  %o4,%i1,%o4
  1227.         mulscc  %o4,%i1,%o4
  1228.         mulscc  %o4,%i1,%o4
  1229.         mulscc  %o4,%i1,%o4
  1230.         mulscc  %o4,%i1,%o4
  1231.         mulscc  %o4,%g0,%o4
  1232.         rd      %y,%o5
  1233.         sll     %o4,12,%o4
  1234.         srl     %o5,20,%o5
  1235.         or      %o5,%o4,%l1
  1236. 3:       
  1237.  
  1238.     orcc %o2,%g0,%i1
  1239.     be L235
  1240.     nop
  1241.     call _cgeti,0
  1242.     mov 4,%o0
  1243.     mov %o0,%i0
  1244.     st %i1,[%i0+8]
  1245.     b L236
  1246.     st %l1,[%i0+12]
  1247. L235:
  1248.     call _cgeti,0
  1249.     mov 3,%o0
  1250.     mov %o0,%i0
  1251.     st %l1,[%i0+8]
  1252. L236:
  1253.     ld [%i0],%o0
  1254.     sethi %hi(16777215),%o1
  1255.     or %o1,%lo(16777215),%o1
  1256.     and %o0,%o1,%o0
  1257.     sll %l0,24,%o1
  1258.     add %o0,%o1,%o0
  1259.     st %o0,[%i0+4]
  1260. L237:
  1261.     ret
  1262.     restore
  1263.     .align 4
  1264.     .global _mulii
  1265.     .proc 1
  1266. _mulii:
  1267.     !#PROLOGUE# 0
  1268.     save %sp,-112,%sp
  1269.     !#PROLOGUE# 1
  1270.     mov %i0,%l4
  1271.     ld [%l4+4],%o0
  1272.     sethi %hi(65535),%o1
  1273.     or %o1,%lo(65535),%o1
  1274.     and %o0,%o1,%l0
  1275.     ld [%i1+4],%o2
  1276.     sra %o0,24,%l2
  1277.     cmp %l2,0
  1278.     be L256
  1279.     and %o2,%o1,%l3
  1280.     ldsb [%i1+4],%o0
  1281.     cmp %o0,0
  1282.     bne L241
  1283.     nop
  1284. L256:
  1285.     sethi %hi(_gzero),%o0
  1286.     b L255
  1287.     ld [%o0+%lo(_gzero)],%i0
  1288. L241:
  1289.     bl,a L242
  1290.     sub %g0,%l2,%l2
  1291. L242:
  1292.     cmp %l0,%l3
  1293.     ble L243
  1294.     mov %l4,%i0
  1295.     mov %i1,%l4
  1296.     mov %i0,%i1
  1297.     mov %l0,%l1
  1298.     mov %l3,%l0
  1299.     mov %l1,%l3
  1300. L243:
  1301.     add %l0,%l3,%l1
  1302.     add %l1,-2,%l1
  1303.     sethi %hi(65535),%o0
  1304.     or %o0,%lo(65535),%o0
  1305.     cmp %l1,%o0
  1306.     ble L244
  1307.     nop
  1308.     call _err,0
  1309.     mov 17,%o0
  1310. L244:
  1311.     call _cgeti,0
  1312.     mov %l1,%o0
  1313.     mov %o0,%i0
  1314.     ld [%i0],%o1
  1315.     sethi %hi(16777215),%o0
  1316.     or %o0,%lo(16777215),%o0
  1317.     and %o1,%o0,%o1
  1318.     sll %l2,24,%o0
  1319.     add %o1,%o0,%o1
  1320.     st %o1,[%i0+4]
  1321.     sll %l0,2,%o0
  1322.     add %l4,%o0,%l2
  1323.     add %l2,-4,%l2
  1324.     ld [%l2],%g2
  1325.     mov 0,%o2
  1326.     sll %l3,2,%o0
  1327.     add %i1,%o0,%o7
  1328.     sll %l1,2,%o0
  1329.     addcc %l3,-2,%o3
  1330.     be L246
  1331.     add %i0,%o0,%g1
  1332. L247:
  1333.     add %g1,-4,%g1
  1334.     mov %o2,%o1
  1335.     add %o7,-4,%o7
  1336.     mov %g2,%o0
  1337.     ld [%o7],%l5
  1338.      
  1339.         or      %o0,%l5,%o4      
  1340.         mov     %o0,%y
  1341.         andncc  %o4,0xfff,%g0
  1342.         be      2f
  1343.         andcc   %g0,%g0,%o4
  1344.         mulscc  %o4,%l5,%o4
  1345.         mulscc  %o4,%l5,%o4
  1346.         mulscc  %o4,%l5,%o4
  1347.         mulscc  %o4,%l5,%o4
  1348.         mulscc  %o4,%l5,%o4
  1349.         mulscc  %o4,%l5,%o4
  1350.         mulscc  %o4,%l5,%o4
  1351.         mulscc  %o4,%l5,%o4
  1352.         mulscc  %o4,%l5,%o4
  1353.         mulscc  %o4,%l5,%o4
  1354.         mulscc  %o4,%l5,%o4
  1355.         mulscc  %o4,%l5,%o4
  1356.         mulscc  %o4,%l5,%o4
  1357.         mulscc  %o4,%l5,%o4
  1358.         mulscc  %o4,%l5,%o4
  1359.         mulscc  %o4,%l5,%o4
  1360.         mulscc  %o4,%l5,%o4
  1361.         mulscc  %o4,%l5,%o4
  1362.         mulscc  %o4,%l5,%o4
  1363.         mulscc  %o4,%l5,%o4
  1364.         mulscc  %o4,%l5,%o4
  1365.         mulscc  %o4,%l5,%o4
  1366.         mulscc  %o4,%l5,%o4
  1367.         mulscc  %o4,%l5,%o4
  1368.         mulscc  %o4,%l5,%o4
  1369.         mulscc  %o4,%l5,%o4
  1370.         mulscc  %o4,%l5,%o4
  1371.         mulscc  %o4,%l5,%o4
  1372.         mulscc  %o4,%l5,%o4
  1373.         mulscc  %o4,%l5,%o4
  1374.         mulscc  %o4,%l5,%o4
  1375.         mulscc  %o4,%l5,%o4
  1376.         mulscc  %o4,%g0,%o4
  1377.         tst     %l5
  1378.         bl,a    1f
  1379.         add     %o4,%o0,%o4
  1380. 1:      mov     %o4,%o2
  1381.         b       3f 
  1382.         rd      %y,%o0
  1383. 2:      clr     %o2
  1384.         mulscc  %o4,%l5,%o4
  1385.         mulscc  %o4,%l5,%o4
  1386.         mulscc  %o4,%l5,%o4
  1387.         mulscc  %o4,%l5,%o4
  1388.         mulscc  %o4,%l5,%o4
  1389.         mulscc  %o4,%l5,%o4
  1390.         mulscc  %o4,%l5,%o4
  1391.         mulscc  %o4,%l5,%o4
  1392.         mulscc  %o4,%l5,%o4
  1393.         mulscc  %o4,%l5,%o4
  1394.         mulscc  %o4,%l5,%o4
  1395.         mulscc  %o4,%l5,%o4
  1396.         mulscc  %o4,%g0,%o4
  1397.         rd      %y,%o5
  1398.         sll     %o4,12,%o4
  1399.         srl     %o5,20,%o5
  1400.         or      %o5,%o4,%o0
  1401. 3:       
  1402.  
  1403.     addcc %o1,%o0,%l5
  1404.     addx %o2,%g0,%o2
  1405.     addcc %o3,-1,%o3
  1406.     bne L247
  1407.     st %l5,[%g1]
  1408. L246:
  1409.     st %o2,[%g1-4]
  1410.     sll %l1,2,%o0
  1411.     add %i0,%o0,%g1
  1412.     sll %l3,2,%o0
  1413.     add %i1,%o0,%i1
  1414.     add %l0,-3,%l0
  1415.     cmp %l0,0
  1416.     ble L249
  1417.     add %l3,-1,%l3
  1418. L253:
  1419.     add %l2,-4,%l2
  1420.     ld [%l2],%g3
  1421.     mov %i1,%o7
  1422.     add %g1,-4,%o1
  1423.     mov %o1,%g1
  1424.     addcc %l3,-1,%o3
  1425.     be L251
  1426.     mov 0,%g2
  1427. L252:
  1428.     add %o7,-4,%o7
  1429.     ld [%o7],%o0
  1430.      
  1431.         or      %o0,%g3,%o4      
  1432.         mov     %o0,%y
  1433.         andncc  %o4,0xfff,%g0
  1434.         be      2f
  1435.         andcc   %g0,%g0,%o4
  1436.         mulscc  %o4,%g3,%o4
  1437.         mulscc  %o4,%g3,%o4
  1438.         mulscc  %o4,%g3,%o4
  1439.         mulscc  %o4,%g3,%o4
  1440.         mulscc  %o4,%g3,%o4
  1441.         mulscc  %o4,%g3,%o4
  1442.         mulscc  %o4,%g3,%o4
  1443.         mulscc  %o4,%g3,%o4
  1444.         mulscc  %o4,%g3,%o4
  1445.         mulscc  %o4,%g3,%o4
  1446.         mulscc  %o4,%g3,%o4
  1447.         mulscc  %o4,%g3,%o4
  1448.         mulscc  %o4,%g3,%o4
  1449.         mulscc  %o4,%g3,%o4
  1450.         mulscc  %o4,%g3,%o4
  1451.         mulscc  %o4,%g3,%o4
  1452.         mulscc  %o4,%g3,%o4
  1453.         mulscc  %o4,%g3,%o4
  1454.         mulscc  %o4,%g3,%o4
  1455.         mulscc  %o4,%g3,%o4
  1456.         mulscc  %o4,%g3,%o4
  1457.         mulscc  %o4,%g3,%o4
  1458.         mulscc  %o4,%g3,%o4
  1459.         mulscc  %o4,%g3,%o4
  1460.         mulscc  %o4,%g3,%o4
  1461.         mulscc  %o4,%g3,%o4
  1462.         mulscc  %o4,%g3,%o4
  1463.         mulscc  %o4,%g3,%o4
  1464.         mulscc  %o4,%g3,%o4
  1465.         mulscc  %o4,%g3,%o4
  1466.         mulscc  %o4,%g3,%o4
  1467.         mulscc  %o4,%g3,%o4
  1468.         mulscc  %o4,%g0,%o4
  1469.         tst     %g3
  1470.         bl,a    1f
  1471.         add     %o4,%o0,%o4
  1472. 1:      mov     %o4,%o2
  1473.         b       3f 
  1474.         rd      %y,%o0
  1475. 2:      clr     %o2
  1476.         mulscc  %o4,%g3,%o4
  1477.         mulscc  %o4,%g3,%o4
  1478.         mulscc  %o4,%g3,%o4
  1479.         mulscc  %o4,%g3,%o4
  1480.         mulscc  %o4,%g3,%o4
  1481.         mulscc  %o4,%g3,%o4
  1482.         mulscc  %o4,%g3,%o4
  1483.         mulscc  %o4,%g3,%o4
  1484.         mulscc  %o4,%g3,%o4
  1485.         mulscc  %o4,%g3,%o4
  1486.         mulscc  %o4,%g3,%o4
  1487.         mulscc  %o4,%g3,%o4
  1488.         mulscc  %o4,%g0,%o4
  1489.         rd      %y,%o5
  1490.         sll     %o4,12,%o4
  1491.         srl     %o5,20,%o5
  1492.         or      %o5,%o4,%o0
  1493. 3:       
  1494.  
  1495.     add %o1,-4,%o1
  1496.     ld [%o1],%l5
  1497.     addcc %o0,%l5,%o0
  1498.     addx %o2,%g0,%o2
  1499.     addcc %o0,%g2,%l5
  1500.     addx %o2,%g0,%o2
  1501.     st %l5,[%o1]
  1502.     addcc %o3,-1,%o3
  1503.     bne L252
  1504.     mov %o2,%g2
  1505. L251:
  1506.     add %l0,-1,%l0
  1507.     cmp %l0,0
  1508.     bg L253
  1509.     st %o2,[%o1-4]
  1510. L249:
  1511.     ld [%i0+8],%o0
  1512.     cmp %o0,0
  1513.     bne L255
  1514.     sethi %hi(_avma),%o1
  1515.     ld [%i0+4],%o0
  1516.     add %o0,-1,%o0
  1517.     st %o0,[%i0+8]
  1518.     ld [%i0],%o0
  1519.     add %o0,-1,%o0
  1520.     st %o0,[%i0+4]
  1521.     add %i0,4,%i0
  1522.     ld [%o1+%lo(_avma)],%o0
  1523.     add %o0,4,%o0
  1524.     st %o0,[%o1+%lo(_avma)]
  1525. L255:
  1526.     ret
  1527.     restore
  1528. .data
  1529.     .align 8
  1530. LC0:
  1531.     .double 0r0.30103000000000002
  1532.     .align 8
  1533. LC1:
  1534.     .double 0r1
  1535. .text
  1536.     .align 4
  1537.     .global _confrac
  1538.     .proc 1
  1539. _confrac:
  1540.     !#PROLOGUE# 0
  1541.     save %sp,-136,%sp
  1542.     !#PROLOGUE# 1
  1543.     ld [%i0],%o1
  1544.     sethi %hi(65535),%o0
  1545.     or %o0,%lo(65535),%o0
  1546.     and %o1,%o0,%l3
  1547.     ld [%i0+4],%o1
  1548.     sethi %hi(16777215),%o0
  1549.     or %o0,%lo(16777215),%o0
  1550.     and %o1,%o0,%o1
  1551.     sethi %hi(8388607),%o0
  1552.     or %o0,%lo(8388607),%o0
  1553.     sub %o0,%o1,%l1
  1554.     sethi %hi(_avma),%o0
  1555.     ld [%o0+%lo(_avma)],%l6
  1556.     add %l3,-2,%l5
  1557.     sll %l5,5,%l5
  1558.     add %l5,%l1,%l5
  1559.     add %l5,63,%l4
  1560.     sra %l4,5,%l4
  1561.     call _cgeti,0
  1562.     mov %l4,%o0
  1563.     sra %l1,5,%o1
  1564.     mov 0,%g2
  1565.     cmp %g2,%o1
  1566.     bge L259
  1567.     mov %o0,%l2
  1568. L261:
  1569.     sll %g2,2,%o0
  1570.     add %g2,1,%g2
  1571.     cmp %g2,%o1
  1572.     bl L261
  1573.     st %g0,[%l2+%o0]
  1574. L259:
  1575.     andcc %l1,31,%l1
  1576.     bne L262
  1577.     mov 2,%l0
  1578.     cmp %l0,%l3
  1579.     bge L280
  1580.     sll %l4,2,%o0
  1581. L266:
  1582.     sll %g2,2,%o0
  1583.     sll %l0,2,%o1
  1584.     ld [%i0+%o1],%o1
  1585.     st %o1,[%l2+%o0]
  1586.     add %l0,1,%l0
  1587.     cmp %l0,%l3
  1588.     bl L266
  1589.     add %g2,1,%g2
  1590.     b L280
  1591.     sll %l4,2,%o0
  1592. L262:
  1593.     cmp %l0,%l3
  1594.     bge L269
  1595.     mov 0,%o3
  1596.     mov 32,%o0
  1597.     sub %o0,%l1,%o4
  1598. L271:
  1599.     sll %g2,2,%o1
  1600.     sll %l0,2,%o0
  1601.     ld [%i0+%o0],%o2
  1602.     add %g2,1,%g2
  1603.     srl %o2,%l1,%o0
  1604.     add %o0,%o3,%o0
  1605.     st %o0,[%l2+%o1]
  1606.     add %l0,1,%l0
  1607.     cmp %l0,%l3
  1608.     bl L271
  1609.     sll %o2,%o4,%o3
  1610. L269:
  1611.     sll %l4,2,%o0
  1612.     add %o0,%l2,%o0
  1613.     st %o3,[%o0-8]
  1614.     sll %l4,2,%o0
  1615. L280:
  1616.     add %o0,%l2,%o0
  1617.     st %g0,[%o0-4]
  1618.     st %l5,[%fp-4]
  1619.     ld [%fp-4],%f0
  1620.     fitod %f0,%f0
  1621.     sethi %hi(LC0),%l7
  1622.     ld [%l7+%lo(LC0)],%f2
  1623.     ld [%l7+%lo(LC0+4)],%f3
  1624.     fmuld %f0,%f2,%f0
  1625.     sethi %hi(LC1),%l7
  1626.     ld [%l7+%lo(LC1)],%f2
  1627.     ld [%l7+%lo(LC1+4)],%f3
  1628.     faddd %f0,%f2,%f0
  1629.     fdtoi %f0,%f2
  1630.     st %f2,[%fp-4]
  1631.     ld [%fp-4],%l0
  1632.     add %l0,17,%l1
  1633.     mov %l1,%o0
  1634.     call .div,0
  1635.     mov 9,%o1
  1636.     call _cgeti,0
  1637.     mov %o0,%l1
  1638.     mov %o0,%i0
  1639.     st %l0,[%i0]
  1640.     mov 1,%l0
  1641.     cmp %l0,%l1
  1642.     bge L281
  1643.     sethi %hi(_avma),%o0
  1644.     sethi %hi(1000000000),%l3
  1645. L279:
  1646.     addcc %l4,-1,%g2
  1647.     bneg L276
  1648.     mov 0,%o3
  1649.     or %l3,%lo(1000000000),%o7
  1650. L278:
  1651.     sll %g2,2,%o1
  1652.     mov %o3,%o2
  1653.     ld [%l2+%o1],%o0
  1654.      
  1655.         or      %o0,%o7,%o4      
  1656.         mov     %o0,%y
  1657.         andncc  %o4,0xfff,%g0
  1658.         be      2f
  1659.         andcc   %g0,%g0,%o4
  1660.         mulscc  %o4,%o7,%o4
  1661.         mulscc  %o4,%o7,%o4
  1662.         mulscc  %o4,%o7,%o4
  1663.         mulscc  %o4,%o7,%o4
  1664.         mulscc  %o4,%o7,%o4
  1665.         mulscc  %o4,%o7,%o4
  1666.         mulscc  %o4,%o7,%o4
  1667.         mulscc  %o4,%o7,%o4
  1668.         mulscc  %o4,%o7,%o4
  1669.         mulscc  %o4,%o7,%o4
  1670.         mulscc  %o4,%o7,%o4
  1671.         mulscc  %o4,%o7,%o4
  1672.         mulscc  %o4,%o7,%o4
  1673.         mulscc  %o4,%o7,%o4
  1674.         mulscc  %o4,%o7,%o4
  1675.         mulscc  %o4,%o7,%o4
  1676.         mulscc  %o4,%o7,%o4
  1677.         mulscc  %o4,%o7,%o4
  1678.         mulscc  %o4,%o7,%o4
  1679.         mulscc  %o4,%o7,%o4
  1680.         mulscc  %o4,%o7,%o4
  1681.         mulscc  %o4,%o7,%o4
  1682.         mulscc  %o4,%o7,%o4
  1683.         mulscc  %o4,%o7,%o4
  1684.         mulscc  %o4,%o7,%o4
  1685.         mulscc  %o4,%o7,%o4
  1686.         mulscc  %o4,%o7,%o4
  1687.         mulscc  %o4,%o7,%o4
  1688.         mulscc  %o4,%o7,%o4
  1689.         mulscc  %o4,%o7,%o4
  1690.         mulscc  %o4,%o7,%o4
  1691.         mulscc  %o4,%o7,%o4
  1692.         mulscc  %o4,%g0,%o4
  1693.         tst     %o7
  1694.         bl,a    1f
  1695.         add     %o4,%o0,%o4
  1696. 1:      mov     %o4,%o3
  1697.         b       3f 
  1698.         rd      %y,%o0
  1699. 2:      clr     %o3
  1700.         mulscc  %o4,%o7,%o4
  1701.         mulscc  %o4,%o7,%o4
  1702.         mulscc  %o4,%o7,%o4
  1703.         mulscc  %o4,%o7,%o4
  1704.         mulscc  %o4,%o7,%o4
  1705.         mulscc  %o4,%o7,%o4
  1706.         mulscc  %o4,%o7,%o4
  1707.         mulscc  %o4,%o7,%o4
  1708.         mulscc  %o4,%o7,%o4
  1709.         mulscc  %o4,%o7,%o4
  1710.         mulscc  %o4,%o7,%o4
  1711.         mulscc  %o4,%o7,%o4
  1712.         mulscc  %o4,%g0,%o4
  1713.         rd      %y,%o5
  1714.         sll     %o4,12,%o4
  1715.         srl     %o5,20,%o5
  1716.         or      %o5,%o4,%o0
  1717. 3:       
  1718.  
  1719.     addcc %o2,%o0,%l7
  1720.     addx %o3,%g0,%o3
  1721.     addcc %g2,-1,%g2
  1722.     bpos L278
  1723.     st %l7,[%l2+%o1]
  1724. L276:
  1725.     sll %l0,2,%o0
  1726.     add %l0,1,%l0
  1727.     cmp %l0,%l1
  1728.     bl L279
  1729.     st %o3,[%i0+%o0]
  1730.     sethi %hi(_avma),%o0
  1731. L281:
  1732.     st %l6,[%o0+%lo(_avma)]
  1733.     ret
  1734.     restore
  1735.     .align 4
  1736.     .global _divss
  1737.     .proc 1
  1738. _divss:
  1739.     !#PROLOGUE# 0
  1740.     save %sp,-112,%sp
  1741.     !#PROLOGUE# 1
  1742.     cmp %i1,0
  1743.     bne L291
  1744.     sethi %hi(-2147483648),%o0
  1745.     call _err,0
  1746.     mov 23,%o0
  1747.     sethi %hi(-2147483648),%o0
  1748. L291:
  1749.     cmp %i0,%o0
  1750.     bne,a L284
  1751.     sethi %hi(_hiremainder),%o0
  1752.     call _stoi,0
  1753.     nop
  1754.     call _divis,0
  1755.     mov %i1,%o1
  1756.     b,a L290
  1757. L284:
  1758.     st %g0,[%o0+%lo(_hiremainder)]
  1759.     cmp %i0,0
  1760.     bge L285
  1761.     mov %i0,%o0
  1762.     sub %g0,%i0,%o0
  1763. L285:
  1764.     cmp %i1,0
  1765.     bge L286
  1766.     mov %i1,%o1
  1767.     sub %g0,%i1,%o1
  1768. L286:
  1769.     sethi %hi(_hiremainder),%l0
  1770.     call _divul3,0
  1771.     or %l0,%lo(_hiremainder),%o2
  1772.     cmp %i1,0
  1773.     bge L287
  1774.     mov %o0,%o1
  1775.     ld [%l0+%lo(_hiremainder)],%o0
  1776.     sub %g0,%o0,%o0
  1777.     st %o0,[%l0+%lo(_hiremainder)]
  1778.     sub %g0,%o1,%o1
  1779. L287:
  1780.     cmp %i0,0
  1781.     bl,a L288
  1782.     sub %g0,%o1,%o1
  1783. L288:
  1784.     call _stoi,0
  1785.     mov %o1,%o0
  1786. L290:
  1787.     ret
  1788.     restore %g0,%o0,%o0
  1789.     .align 4
  1790.     .global _modss
  1791.     .proc 1
  1792. _modss:
  1793.     !#PROLOGUE# 0
  1794.     save %sp,-120,%sp
  1795.     !#PROLOGUE# 1
  1796.     cmp %i1,0
  1797.     bne L302
  1798.     sethi %hi(-2147483648),%o0
  1799.     call _err,0
  1800.     mov 38,%o0
  1801.     sethi %hi(-2147483648),%o0
  1802. L302:
  1803.     cmp %i0,%o0
  1804.     bne,a L294
  1805.     mov %i0,%o0
  1806.     call _stoi,0
  1807.     nop
  1808.     call _modis,0
  1809.     mov %i1,%o1
  1810.     b L300
  1811.     mov %o0,%i0
  1812. L294:
  1813.     cmp %o0,0
  1814.     bge L295
  1815.     st %g0,[%fp-20]
  1816.     sub %g0,%o0,%o0
  1817. L295:
  1818.     cmp %i1,0
  1819.     bl,a L296
  1820.     sub %g0,%i1,%i1
  1821. L296:
  1822.     mov %i1,%o1
  1823.     call _divul3,0
  1824.     add %fp,-20,%o2
  1825.     ld [%fp-20],%o0
  1826.     cmp %o0,0
  1827.     bne L297
  1828.     nop
  1829.     sethi %hi(_gzero),%o0
  1830.     b L300
  1831.     ld [%o0+%lo(_gzero)],%i0
  1832. L297:
  1833.     bge L298
  1834.     nop
  1835.     call _stoi,0
  1836.     sub %i1,%o0,%o0
  1837.     b L300
  1838.     mov %o0,%i0
  1839. L298:
  1840.     call _stoi,0
  1841.     ld [%fp-20],%o0
  1842.     mov %o0,%i0
  1843. L300:
  1844.     ret
  1845.     restore
  1846.     .align 4
  1847.     .global _resss
  1848.     .proc 1
  1849. _resss:
  1850.     !#PROLOGUE# 0
  1851.     save %sp,-120,%sp
  1852.     !#PROLOGUE# 1
  1853.     cmp %i1,0
  1854.     bne L310
  1855.     mov %i0,%o0
  1856.     call _err,0
  1857.     mov 40,%o0
  1858.     mov %i0,%o0
  1859. L310:
  1860.     cmp %o0,0
  1861.     bge L305
  1862.     st %g0,[%fp-20]
  1863.     sub %g0,%o0,%o0
  1864. L305:
  1865.     cmp %i1,0
  1866.     bge L306
  1867.     mov %i1,%o1
  1868.     sub %g0,%i1,%o1
  1869. L306:
  1870.     call _divul3,0
  1871.     add %fp,-20,%o2
  1872.     cmp %i1,0
  1873.     bge L307
  1874.     ld [%fp-20],%o0
  1875.     call _stoi,0
  1876.     sub %g0,%o0,%o0
  1877.     b,a L309
  1878. L307:
  1879.     call _stoi,0
  1880.     nop
  1881. L309:
  1882.     ret
  1883.     restore %g0,%o0,%o0
  1884.     .align 4
  1885.     .global _divsi
  1886.     .proc 1
  1887. _divsi:
  1888.     !#PROLOGUE# 0
  1889.     save %sp,-112,%sp
  1890.     !#PROLOGUE# 1
  1891.     ld [%i1+4],%o0
  1892.     sra %o0,24,%o2
  1893.     sethi %hi(65535),%o1
  1894.     or %o1,%lo(65535),%o1
  1895.     cmp %o2,0
  1896.     bne L312
  1897.     and %o0,%o1,%l0
  1898.     call _err,0
  1899.     mov 24,%o0
  1900. L312:
  1901.     cmp %i0,0
  1902.     be L314
  1903.     cmp %l0,3
  1904.     bg,a L321
  1905.     sethi %hi(_hiremainder),%o0
  1906.     ld [%i1+8],%o0
  1907.     cmp %o0,0
  1908.     bge L313
  1909.     sethi %hi(-2147483648),%o0
  1910. L314:
  1911.     sethi %hi(_hiremainder),%o0
  1912. L321:
  1913.     st %i0,[%o0+%lo(_hiremainder)]
  1914.     sethi %hi(_gzero),%o0
  1915.     b L319
  1916.     ld [%o0+%lo(_gzero)],%i0
  1917. L313:
  1918.     cmp %i0,%o0
  1919.     bne,a L315
  1920.     sethi %hi(_hiremainder),%o0
  1921.     call _stoi,0
  1922.     nop
  1923.     mov %i1,%o1
  1924.     call _dvmdii,0
  1925.     mov 0,%o2
  1926.     b L319
  1927.     mov %o0,%i0
  1928. L315:
  1929.     st %g0,[%o0+%lo(_hiremainder)]
  1930.     cmp %i0,0
  1931.     bge L316
  1932.     mov %i0,%o0
  1933.     sub %g0,%i0,%o0
  1934. L316:
  1935.     ld [%i1+8],%o1
  1936.     sethi %hi(_hiremainder),%l0
  1937.     call _divul3,0
  1938.     or %l0,%lo(_hiremainder),%o2
  1939.     mov %o0,%o1
  1940.     ldsb [%i1+4],%o0
  1941.     cmp %o0,0
  1942.     bge L322
  1943.     cmp %i0,0
  1944.     ld [%l0+%lo(_hiremainder)],%o0
  1945.     sub %g0,%o0,%o0
  1946.     st %o0,[%l0+%lo(_hiremainder)]
  1947.     sub %g0,%o1,%o1
  1948. L322:
  1949.     bl,a L318
  1950.     sub %g0,%o1,%o1
  1951. L318:
  1952.     call _stoi,0
  1953.     mov %o1,%o0
  1954.     mov %o0,%i0
  1955. L319:
  1956.     ret
  1957.     restore
  1958.     .align 4
  1959.     .global _divis
  1960.     .proc 1
  1961. _divis:
  1962.     !#PROLOGUE# 0
  1963.     save %sp,-120,%sp
  1964.     !#PROLOGUE# 1
  1965.     ld [%i0+4],%o1
  1966.     sra %o1,24,%l4
  1967.     sethi %hi(65535),%o0
  1968.     or %o0,%lo(65535),%o0
  1969.     cmp %i1,0
  1970.     bne L324
  1971.     and %o1,%o0,%l3
  1972.     call _err,0
  1973.     mov 26,%o0
  1974. L324:
  1975.     cmp %l4,0
  1976.     bne L325
  1977.     cmp %i1,0
  1978.     sethi %hi(_hiremainder),%o0
  1979.     b L339
  1980.     st %g0,[%o0+%lo(_hiremainder)]
  1981. L325:
  1982.     bge,a L340
  1983.     ld [%i0+8],%o0
  1984.     subcc %g0,%i1,%i1
  1985.     bpos L326
  1986.     sub %g0,%l4,%l4
  1987.     call _stoi,0
  1988.     mov %i1,%o0
  1989.     mov %o0,%o1
  1990.     mov %i0,%o0
  1991.     call _dvmdii,0
  1992.     mov 0,%o2
  1993.     b L338
  1994.     mov %o0,%i0
  1995. L326:
  1996.     ld [%i0+8],%o0
  1997. L340:
  1998.     cmp %i1,%o0
  1999.     bleu L328
  2000.     cmp %l3,3
  2001.     bne L329
  2002.     nop
  2003.     call _itos,0
  2004.     mov %i0,%o0
  2005.     sethi %hi(_hiremainder),%o1
  2006.     st %o0,[%o1+%lo(_hiremainder)]
  2007. L339:
  2008.     sethi %hi(_gzero),%o0
  2009.     b L338
  2010.     ld [%o0+%lo(_gzero)],%i0
  2011. L329:
  2012.     call _cgeti,0
  2013.     add %l3,-1,%o0
  2014.     mov %o0,%l2
  2015.     mov 1,%l1
  2016.     ld [%i0+8],%o0
  2017.     b L331
  2018.     st %o0,[%fp-20]
  2019. L328:
  2020.     call _cgeti,0
  2021.     mov %l3,%o0
  2022.     mov %o0,%l2
  2023.     mov 0,%l1
  2024.     st %g0,[%fp-20]
  2025. L331:
  2026.     add %l1,2,%l0
  2027.     cmp %l0,%l3
  2028.     bge,a L341
  2029.     ld [%l2],%o0
  2030. L335:
  2031.     sll %l0,2,%o0
  2032.     ld [%i0+%o0],%o0
  2033.     mov %i1,%o1
  2034.     call _divul3,0
  2035.     add %fp,-20,%o2
  2036.     sub %l0,%l1,%o1
  2037.     sll %o1,2,%o1
  2038.     add %l0,1,%l0
  2039.     cmp %l0,%l3
  2040.     bl L335
  2041.     st %o0,[%l2+%o1]
  2042.     ld [%l2],%o0
  2043. L341:
  2044.     sethi %hi(16777215),%o1
  2045.     or %o1,%lo(16777215),%o1
  2046.     and %o0,%o1,%o0
  2047.     sll %l4,24,%o1
  2048.     add %o0,%o1,%o0
  2049.     st %o0,[%l2+4]
  2050.     sethi %hi(_hiremainder),%o1
  2051.     cmp %l4,0
  2052.     bge L336
  2053.     or %o1,%lo(_hiremainder),%o2
  2054.     ld [%fp-20],%o0
  2055.     sub %g0,%o0,%o0
  2056.     b L337
  2057.     st %o0,[%o1+%lo(_hiremainder)]
  2058. L336:
  2059.     ld [%fp-20],%o0
  2060.     st %o0,[%o2]
  2061. L337:
  2062.     mov %l2,%i0
  2063. L338:
  2064.     ret
  2065.     restore
  2066.     .align 4
  2067.     .global _dvmdii
  2068.     .proc 1
  2069. _dvmdii:
  2070.     !#PROLOGUE# 0
  2071.     save %sp,-152,%sp
  2072.     !#PROLOGUE# 1
  2073.     mov %i0,%l0
  2074.     mov %i2,%i4
  2075.     ldsb [%l0+4],%g1
  2076.     st %g1,[%fp-36]
  2077.     ldsb [%i1+4],%g3
  2078.     cmp %g3,0
  2079.     bne L343
  2080.     st %g3,[%fp-44]
  2081.     call _err,0
  2082.     mov 36,%o0
  2083. L343:
  2084.     ld [%fp-36],%g1
  2085.     cmp %g1,0
  2086.     bne,a L344
  2087.     ld [%l0+4],%o0
  2088.     cmp %i4,-1
  2089.     be L423
  2090.     cmp %i4,0
  2091.     be L423
  2092.     sethi %hi(_gzero),%o1
  2093.     ld [%o1+%lo(_gzero)],%o0
  2094.     st %o0,[%i4]
  2095.     b L422
  2096.     ld [%o1+%lo(_gzero)],%i0
  2097. L344:
  2098.     sethi %hi(65535),%o1
  2099.     or %o1,%lo(65535),%o1
  2100.     and %o0,%o1,%l7
  2101.     ld [%i1+4],%o0
  2102.     and %o0,%o1,%i3
  2103.     subcc %l7,%i3,%i5
  2104.     bpos,a L347
  2105.     sethi %hi(_avma),%o0
  2106.     cmp %i4,-1
  2107.     bne L348
  2108.     cmp %i4,0
  2109.     call _icopy,0
  2110.     mov %l0,%o0
  2111.     b L422
  2112.     mov %o0,%i0
  2113. L348:
  2114.     be L427
  2115.     sethi %hi(_gzero),%o0
  2116.     call _icopy,0
  2117.     mov %l0,%o0
  2118.     b L423
  2119.     st %o0,[%i4]
  2120. L347:
  2121.     ld [%o0+%lo(_avma)],%o0
  2122.     st %o0,[%fp-28]
  2123.     ld [%fp-36],%g3
  2124.     cmp %g3,0
  2125.     bge L428
  2126.     cmp %i3,3
  2127.     ld [%fp-44],%g1
  2128.     sub %g0,%g1,%g1
  2129.     st %g1,[%fp-44]
  2130. L428:
  2131.     bne L351
  2132.     nop
  2133.     ld [%i1+8],%i1
  2134.     ld [%l0+8],%o0
  2135.     cmp %i1,%o0
  2136.     bleu L352
  2137.     add %l0,8,%l2
  2138.     add %l7,-1,%l4
  2139.     st %o0,[%fp-20]
  2140.     b L353
  2141.     add %l0,12,%l2
  2142. L352:
  2143.     mov %l7,%l4
  2144.     st %g0,[%fp-20]
  2145. L353:
  2146.     call _cgeti,0
  2147.     mov %l4,%o0
  2148.     mov %o0,%l5
  2149.     addcc %l4,-2,%l3
  2150.     be L355
  2151.     add %l5,8,%l1
  2152. L356:
  2153.     ld [%l2],%o0
  2154.     add %l2,4,%l2
  2155.     mov %i1,%o1
  2156.     call _divul3,0
  2157.     add %fp,-20,%o2
  2158.     st %o0,[%l1]
  2159.     addcc %l3,-1,%l3
  2160.     bne L356
  2161.     add %l1,4,%l1
  2162. L355:
  2163.     cmp %i4,-1
  2164.     bne L357
  2165.     cmp %l4,2
  2166.     ld [%fp-28],%g3
  2167.     sethi %hi(_avma),%o0
  2168.     st %g3,[%o0+%lo(_avma)]
  2169.     ld [%fp-20],%o0
  2170.     cmp %o0,0
  2171.     bne L358
  2172.     nop
  2173. L423:
  2174.     sethi %hi(_gzero),%o0
  2175. L427:
  2176.     b L422
  2177.     ld [%o0+%lo(_gzero)],%i0
  2178. L358:
  2179.     call _cgeti,0
  2180.     mov 3,%o0
  2181.     mov %o0,%i0
  2182.     ld [%fp-36],%g1
  2183.     sll %g1,24,%o0
  2184.     add %o0,3,%o0
  2185.     st %o0,[%i0+4]
  2186.     ld [%fp-20],%o0
  2187.     b L422
  2188.     st %o0,[%i0+8]
  2189. L357:
  2190.     be L359
  2191.     sethi %hi(16777215),%o1
  2192.     ld [%l5],%o0
  2193.     or %o1,%lo(16777215),%o1
  2194.     and %o0,%o1,%o0
  2195.     ld [%fp-44],%g3
  2196.     sll %g3,24,%o1
  2197.     add %o0,%o1,%o0
  2198.     b L360
  2199.     st %o0,[%l5+4]
  2200. L359:
  2201.     ld [%fp-28],%g1
  2202.     sethi %hi(_avma),%o0
  2203.     st %g1,[%o0+%lo(_avma)]
  2204.     sethi %hi(_gzero),%o0
  2205.     ld [%o0+%lo(_gzero)],%l5
  2206. L360:
  2207.     cmp %i4,0
  2208.     bne L361
  2209.     ld [%fp-20],%o0
  2210. L425:
  2211.     b L422
  2212.     mov %l5,%i0
  2213. L361:
  2214.     cmp %o0,0
  2215.     bne L362
  2216.     sethi %hi(_gzero),%o0
  2217.     ld [%o0+%lo(_gzero)],%o0
  2218.     b L425
  2219.     st %o0,[%i4]
  2220. L362:
  2221.     call _cgeti,0
  2222.     mov 3,%o0
  2223.     mov %o0,%i0
  2224.     ld [%fp-36],%g3
  2225.     sll %g3,24,%o0
  2226.     add %o0,3,%o0
  2227.     st %o0,[%i0+4]
  2228.     ld [%fp-20],%o0
  2229.     st %o0,[%i0+8]
  2230.     b L425
  2231.     st %i0,[%i4]
  2232. L351:
  2233.     call _cgeti,0
  2234.     mov %l7,%o0
  2235.     mov %o0,%l5
  2236.     call _bfffo,0
  2237.     ld [%i1+8],%o0
  2238.     orcc %o0,%g0,%l6
  2239.     be L365
  2240.     add %l0,8,%l2
  2241.     call _cgeti,0
  2242.     mov %i3,%o0
  2243.     mov %o0,%i0
  2244.     ld [%i1+8],%o3
  2245.     add %i1,12,%o1
  2246.     mov 32,%o0
  2247.     sub %o0,%l6,%o0
  2248.     srl %o3,%o0,%o0
  2249.     st %o0,[%fp-20]
  2250.     sll %o3,%l6,%g2
  2251.     addcc %i3,-3,%l3
  2252.     be L367
  2253.     add %i0,8,%o2
  2254.     mov 32,%o0
  2255.     sub %o0,%l6,%o4
  2256. L368:
  2257.     ld [%o1],%o3
  2258.     add %o1,4,%o1
  2259.     srl %o3,%o4,%o0
  2260.     st %o0,[%fp-20]
  2261.     add %g2,%o0,%o0
  2262.     st %o0,[%o2]
  2263.     add %o2,4,%o2
  2264.     addcc %l3,-1,%l3
  2265.     bne L368
  2266.     sll %o3,%l6,%g2
  2267. L367:
  2268.     st %g2,[%o2]
  2269.     mov 0,%g2
  2270.     add %l0,8,%l2
  2271.     addcc %l7,-2,%l3
  2272.     be L370
  2273.     add %l5,4,%l1
  2274.     mov 32,%o0
  2275.     sub %o0,%l6,%o1
  2276. L371:
  2277.     ld [%l2],%o3
  2278.     add %l2,4,%l2
  2279.     srl %o3,%o1,%o0
  2280.     st %o0,[%fp-20]
  2281.     add %g2,%o0,%o0
  2282.     st %o0,[%l1]
  2283.     add %l1,4,%l1
  2284.     addcc %l3,-1,%l3
  2285.     bne L371
  2286.     sll %o3,%l6,%g2
  2287. L370:
  2288.     b L372
  2289.     st %g2,[%l1]
  2290. L365:
  2291.     st %g0,[%l5+4]
  2292.     addcc %l7,-2,%l0
  2293.     be L374
  2294.     add %l5,8,%l1
  2295. L375:
  2296.     ld [%l2],%o0
  2297.     st %o0,[%l1]
  2298.     add %l2,4,%l2
  2299.     addcc %l0,-1,%l0
  2300.     bne L375
  2301.     add %l1,4,%l1
  2302. L374:
  2303.     mov %i1,%i0
  2304. L372:
  2305.     ld [%i0+8],%i1
  2306.     ld [%i0+12],%i2
  2307.     addcc %i5,1,%l3
  2308.     be L377
  2309.     add %l5,4,%l1
  2310.     sll %i3,2,%l2
  2311. L391:
  2312.     ld [%l1],%o0
  2313.     cmp %o0,%i1
  2314.     bne L378
  2315.     add %l1,4,%l1
  2316.     mov -1,%o7
  2317.     mov %o0,%o3
  2318.     ld [%l1],%o0
  2319.     add %o3,%o0,%o0
  2320.     cmp %o0,%o3
  2321.     addx %g0,0,%o2
  2322.     b L379
  2323.     mov %o0,%g2
  2324. L378:
  2325.     ld [%l1-4],%o0
  2326.     st %o0,[%fp-20]
  2327.     ld [%l1],%o0
  2328.     mov %i1,%o1
  2329.     call _divul3,0
  2330.     add %fp,-20,%o2
  2331.     mov %o0,%o7
  2332.     mov 0,%o2
  2333.     ld [%fp-20],%g2
  2334. L379:
  2335.     cmp %o2,0
  2336.     bne,a L429
  2337.     st %g0,[%fp-20]
  2338.     mov %o7,%o3
  2339.      
  2340.         or      %o3,%i2,%o4      
  2341.         mov     %o3,%y
  2342.         andncc  %o4,0xfff,%g0
  2343.         be      2f
  2344.         andcc   %g0,%g0,%o4
  2345.         mulscc  %o4,%i2,%o4
  2346.         mulscc  %o4,%i2,%o4
  2347.         mulscc  %o4,%i2,%o4
  2348.         mulscc  %o4,%i2,%o4
  2349.         mulscc  %o4,%i2,%o4
  2350.         mulscc  %o4,%i2,%o4
  2351.         mulscc  %o4,%i2,%o4
  2352.         mulscc  %o4,%i2,%o4
  2353.         mulscc  %o4,%i2,%o4
  2354.         mulscc  %o4,%i2,%o4
  2355.         mulscc  %o4,%i2,%o4
  2356.         mulscc  %o4,%i2,%o4
  2357.         mulscc  %o4,%i2,%o4
  2358.         mulscc  %o4,%i2,%o4
  2359.         mulscc  %o4,%i2,%o4
  2360.         mulscc  %o4,%i2,%o4
  2361.         mulscc  %o4,%i2,%o4
  2362.         mulscc  %o4,%i2,%o4
  2363.         mulscc  %o4,%i2,%o4
  2364.         mulscc  %o4,%i2,%o4
  2365.         mulscc  %o4,%i2,%o4
  2366.         mulscc  %o4,%i2,%o4
  2367.         mulscc  %o4,%i2,%o4
  2368.         mulscc  %o4,%i2,%o4
  2369.         mulscc  %o4,%i2,%o4
  2370.         mulscc  %o4,%i2,%o4
  2371.         mulscc  %o4,%i2,%o4
  2372.         mulscc  %o4,%i2,%o4
  2373.         mulscc  %o4,%i2,%o4
  2374.         mulscc  %o4,%i2,%o4
  2375.         mulscc  %o4,%i2,%o4
  2376.         mulscc  %o4,%i2,%o4
  2377.         mulscc  %o4,%g0,%o4
  2378.         tst     %i2
  2379.         bl,a    1f
  2380.         add     %o4,%o3,%o4
  2381. 1:      mov     %o4,%g1
  2382.         b       3f 
  2383.         rd      %y,%o3
  2384. 2:      clr     %g1
  2385.         mulscc  %o4,%i2,%o4
  2386.         mulscc  %o4,%i2,%o4
  2387.         mulscc  %o4,%i2,%o4
  2388.         mulscc  %o4,%i2,%o4
  2389.         mulscc  %o4,%i2,%o4
  2390.         mulscc  %o4,%i2,%o4
  2391.         mulscc  %o4,%i2,%o4
  2392.         mulscc  %o4,%i2,%o4
  2393.         mulscc  %o4,%i2,%o4
  2394.         mulscc  %o4,%i2,%o4
  2395.         mulscc  %o4,%i2,%o4
  2396.         mulscc  %o4,%i2,%o4
  2397.         mulscc  %o4,%g0,%o4
  2398.         rd      %y,%o5
  2399.         sll     %o4,12,%o4
  2400.         srl     %o5,20,%o5
  2401.         or      %o5,%o4,%o3
  2402. 3:       
  2403.  
  2404.     st %g1,[%fp-20]
  2405.     ld [%l1+4],%o0
  2406.     cmp %o3,%o0
  2407.     sub %o3,%o0,%o1
  2408.     addx %g0,%g2,%g2
  2409.     ld [%fp-20],%o0
  2410.     cmp %g2,%o0
  2411.     bgeu L380
  2412.     sub %o0,%g2,%o2
  2413. L383:
  2414.     add %o7,-1,%o7
  2415.     mov %o1,%o3
  2416.     mov %i2,%o0
  2417.     cmp %o3,%o0
  2418.     sub %o3,%o0,%o1
  2419.     subx %o2,0,%o2
  2420.     cmp %i1,%o2
  2421.     addx %g0,0,%o0
  2422.     cmp %o0,0
  2423.     bne L383
  2424.     sub %o2,%i1,%o2
  2425. L380:
  2426.     st %g0,[%fp-20]
  2427. L429:
  2428.     add %l1,%l2,%o1
  2429.     add %o1,-8,%o1
  2430.     addcc %i3,-2,%l0
  2431.     be L385
  2432.     add %i0,%l2,%g2
  2433. L386:
  2434.     ld [%fp-20],%o3
  2435.     add %g2,-4,%g2
  2436.     mov %o7,%o0
  2437.     ld [%g2],%g1
  2438.      
  2439.         or      %o0,%g1,%o4      
  2440.         mov     %o0,%y
  2441.         andncc  %o4,0xfff,%g0
  2442.         be      2f
  2443.         andcc   %g0,%g0,%o4
  2444.         mulscc  %o4,%g1,%o4
  2445.         mulscc  %o4,%g1,%o4
  2446.         mulscc  %o4,%g1,%o4
  2447.         mulscc  %o4,%g1,%o4
  2448.         mulscc  %o4,%g1,%o4
  2449.         mulscc  %o4,%g1,%o4
  2450.         mulscc  %o4,%g1,%o4
  2451.         mulscc  %o4,%g1,%o4
  2452.         mulscc  %o4,%g1,%o4
  2453.         mulscc  %o4,%g1,%o4
  2454.         mulscc  %o4,%g1,%o4
  2455.         mulscc  %o4,%g1,%o4
  2456.         mulscc  %o4,%g1,%o4
  2457.         mulscc  %o4,%g1,%o4
  2458.         mulscc  %o4,%g1,%o4
  2459.         mulscc  %o4,%g1,%o4
  2460.         mulscc  %o4,%g1,%o4
  2461.         mulscc  %o4,%g1,%o4
  2462.         mulscc  %o4,%g1,%o4
  2463.         mulscc  %o4,%g1,%o4
  2464.         mulscc  %o4,%g1,%o4
  2465.         mulscc  %o4,%g1,%o4
  2466.         mulscc  %o4,%g1,%o4
  2467.         mulscc  %o4,%g1,%o4
  2468.         mulscc  %o4,%g1,%o4
  2469.         mulscc  %o4,%g1,%o4
  2470.         mulscc  %o4,%g1,%o4
  2471.         mulscc  %o4,%g1,%o4
  2472.         mulscc  %o4,%g1,%o4
  2473.         mulscc  %o4,%g1,%o4
  2474.         mulscc  %o4,%g1,%o4
  2475.         mulscc  %o4,%g1,%o4
  2476.         mulscc  %o4,%g0,%o4
  2477.         tst     %g1
  2478.         bl,a    1f
  2479.         add     %o4,%o0,%o4
  2480. 1:      mov     %o4,%g3
  2481.         b       3f 
  2482.         rd      %y,%o0
  2483. 2:      clr     %g3
  2484.         mulscc  %o4,%g1,%o4
  2485.         mulscc  %o4,%g1,%o4
  2486.         mulscc  %o4,%g1,%o4
  2487.         mulscc  %o4,%g1,%o4
  2488.         mulscc  %o4,%g1,%o4
  2489.         mulscc  %o4,%g1,%o4
  2490.         mulscc  %o4,%g1,%o4
  2491.         mulscc  %o4,%g1,%o4
  2492.         mulscc  %o4,%g1,%o4
  2493.         mulscc  %o4,%g1,%o4
  2494.         mulscc  %o4,%g1,%o4
  2495.         mulscc  %o4,%g1,%o4
  2496.         mulscc  %o4,%g0,%o4
  2497.         rd      %y,%o5
  2498.         sll     %o4,12,%o4
  2499.         srl     %o5,20,%o5
  2500.         or      %o5,%o4,%o0
  2501. 3:       
  2502.  
  2503.     st %g3,[%fp-20]
  2504.     ld [%fp-20],%g3
  2505.     addcc %o3,%o0,%o2
  2506.     addx %g3,%g0,%g3
  2507.     st %g3,[%fp-20]
  2508.     add %o1,-4,%o1
  2509.     ld [%o1],%o3
  2510.     sub %o3,%o2,%o0
  2511.     cmp %o3,%o2
  2512.     st %o0,[%o1]
  2513.     ld [%fp-20],%o0
  2514.     addx %g0,%o0,%o0
  2515.     addcc %l0,-1,%l0
  2516.     bne L386
  2517.     st %o0,[%fp-20]
  2518. L385:
  2519.     ld [%l1-4],%o1
  2520.     ld [%fp-20],%o0
  2521.     cmp %o1,%o0
  2522.     bgeu,a L430
  2523.     addcc %l3,-1,%l3
  2524.     mov 0,%o2
  2525.     add %o7,-1,%o7
  2526.     add %l1,%l2,%o1
  2527.     add %o1,-8,%o1
  2528.     addcc %i3,-2,%l0
  2529.     be L387
  2530.     add %i0,%l2,%g2
  2531.     add %o1,-4,%o1
  2532. L431:
  2533.     subcc %g0,%o2,%g0
  2534.     add %g2,-4,%g2
  2535.     ld [%o1],%g1
  2536.     ld [%g2],%g3
  2537.     addxcc %g1,%g3,%g1
  2538.     st %g1,[%o1]
  2539.     addx %g0,%g0,%o2
  2540.     addcc %l0,-1,%l0
  2541.     bne,a L431
  2542.     add %o1,-4,%o1
  2543. L387:
  2544.     addcc %l3,-1,%l3
  2545. L430:
  2546.     bne L391
  2547.     st %o7,[%l1-4]
  2548. L377:
  2549.     sethi %hi(_avma),%o0
  2550.     cmp %i4,-1
  2551.     be L392
  2552.     ld [%o0+%lo(_avma)],%i0
  2553.     add %i5,2,%l2
  2554.     sll %l2,2,%o0
  2555.     add %l5,%o0,%l1
  2556.     ld [%l5+4],%o0
  2557.     cmp %o0,0
  2558.     be L393
  2559.     cmp %i5,0
  2560.     b L394
  2561.     add %i5,3,%l2
  2562. L393:
  2563.     be,a L394
  2564.     st %g0,[%fp-44]
  2565. L394:
  2566.     call _cgeti,0
  2567.     mov %l2,%o0
  2568.     st %o0,[%fp-52]
  2569.     sll %l2,2,%o0
  2570.     ld [%fp-52],%g1
  2571.     addcc %l2,-2,%l0
  2572.     be L397
  2573.     add %g1,%o0,%o1
  2574. L398:
  2575.     add %o1,-4,%o1
  2576.     add %l1,-4,%l1
  2577.     ld [%l1],%o0
  2578.     addcc %l0,-1,%l0
  2579.     bne L398
  2580.     st %o0,[%o1]
  2581. L397:
  2582.     cmp %l2,2
  2583.     bgu L399
  2584.     mov 2,%o0
  2585.     ld [%fp-52],%g3
  2586.     b L392
  2587.     st %o0,[%g3+4]
  2588. L399:
  2589.     ld [%fp-52],%g1
  2590.     ld [%g1],%o0
  2591.     sethi %hi(16777215),%o1
  2592.     or %o1,%lo(16777215),%o1
  2593.     and %o0,%o1,%o0
  2594.     ld [%fp-44],%g3
  2595.     sll %g3,24,%o1
  2596.     add %o0,%o1,%o0
  2597.     st %o0,[%g1+4]
  2598. L392:
  2599.     cmp %i4,0
  2600.     be L432
  2601.     cmp %i4,-1
  2602.     add %i5,2,%l0
  2603. L404:
  2604.     cmp %l0,%l7
  2605.     bge L433
  2606.     sll %l0,2,%o0
  2607.     ld [%l5+%o0],%o0
  2608.     cmp %o0,0
  2609.     be,a L404
  2610.     add %l0,1,%l0
  2611.     cmp %l0,%l7
  2612. L433:
  2613.     bne L406
  2614.     sub %l7,%l0,%o0
  2615.     sethi %hi(_gzero),%o0
  2616.     call _icopy,0
  2617.     ld [%o0+%lo(_gzero)],%o0
  2618.     b L401
  2619.     mov %o0,%l4
  2620. L406:
  2621.     call _cgeti,0
  2622.     add %o0,2,%o0
  2623.     mov %o0,%l4
  2624.     ld [%l4],%o0
  2625.     cmp %l6,0
  2626.     bne L408
  2627.     st %o0,[%l4+4]
  2628.     cmp %l0,%l7
  2629.     bge L413
  2630.     mov 2,%l3
  2631. L412:
  2632.     sll %l3,2,%o0
  2633.     sll %l0,2,%o1
  2634.     ld [%l5+%o1],%o1
  2635.     st %o1,[%l4+%o0]
  2636.     add %l0,1,%l0
  2637.     cmp %l0,%l7
  2638.     bl L412
  2639.     add %l3,1,%l3
  2640.     b L434
  2641.     ld [%l4+4],%o0
  2642. L408:
  2643.     st %g0,[%fp-20]
  2644.     sll %l0,2,%o0
  2645.     ld [%l5+%o0],%o3
  2646.     add %l0,1,%l0
  2647.     mov 32,%o0
  2648.     sub %o0,%l6,%o0
  2649.     sll %o3,%o0,%o0
  2650.     st %o0,[%fp-20]
  2651.     srl %o3,%l6,%o2
  2652.     cmp %o2,0
  2653.     be L414
  2654.     mov %o0,%g2
  2655.     st %o2,[%l4+8]
  2656.     b L415
  2657.     mov 1,%o0
  2658. L414:
  2659.     ld [%l4],%o0
  2660.     add %o0,-1,%o0
  2661.     st %o0,[%l4+4]
  2662.     add %l4,4,%l4
  2663.     sethi %hi(_avma),%o1
  2664.     ld [%o1+%lo(_avma)],%o0
  2665.     add %o0,4,%o0
  2666.     st %o0,[%o1+%lo(_avma)]
  2667.     ld [%l4],%o0
  2668.     st %o0,[%l4+4]
  2669.     mov 0,%o0
  2670. L415:
  2671.     cmp %l0,%l7
  2672.     bge L413
  2673.     add %o0,2,%l3
  2674.     mov 32,%o0
  2675.     sub %o0,%l6,%o4
  2676. L419:
  2677.     sll %l3,2,%o2
  2678.     sll %l0,2,%o0
  2679.     ld [%l5+%o0],%o3
  2680.     sll %o3,%o4,%o1
  2681.     st %o1,[%fp-20]
  2682.     srl %o3,%l6,%o0
  2683.     add %o0,%g2,%o0
  2684.     st %o0,[%l4+%o2]
  2685.     mov %o1,%g2
  2686.     add %l0,1,%l0
  2687.     cmp %l0,%l7
  2688.     bl L419
  2689.     add %l3,1,%l3
  2690. L413:
  2691.     ld [%l4+4],%o0
  2692. L434:
  2693.     sethi %hi(16777215),%o1
  2694.     or %o1,%lo(16777215),%o1
  2695.     and %o0,%o1,%o0
  2696.     ld [%fp-36],%g1
  2697.     sll %g1,24,%o1
  2698.     add %o0,%o1,%o0
  2699.     st %o0,[%l4+4]
  2700. L401:
  2701.     cmp %i4,-1
  2702. L432:
  2703.     bne L420
  2704.     cmp %i4,0
  2705.     ld [%fp-28],%o0
  2706.     mov %i0,%o1
  2707.     call _gerepile,0
  2708.     mov %l4,%o2
  2709.     b L422
  2710.     mov %o0,%i0
  2711. L420:
  2712.     be L421
  2713.     ld [%fp-28],%o0
  2714.     mov %i0,%o1
  2715.     call _gerepile,0
  2716.     mov 0,%o2
  2717.     and %o0,-4,%o0
  2718.     add %l4,%o0,%o1
  2719.     st %o1,[%i4]
  2720.     ld [%fp-52],%g3
  2721.     b L422
  2722.     add %g3,%o0,%i0
  2723. L421:
  2724.     mov %i0,%o1
  2725.     call _gerepile,0
  2726.     ld [%fp-52],%o2
  2727.     mov %o0,%i0
  2728. L422:
  2729.     ret
  2730.     restore
  2731.     .align 4
  2732.     .global _mulul3
  2733.     .proc 1
  2734. _mulul3:
  2735.     !#PROLOGUE# 0
  2736.     save %sp,-112,%sp
  2737.     !#PROLOGUE# 1
  2738.      
  2739.         or      %i0,%i1,%o4      
  2740.         mov     %i0,%y
  2741.         andncc  %o4,0xfff,%g0
  2742.         be      2f
  2743.         andcc   %g0,%g0,%o4
  2744.         mulscc  %o4,%i1,%o4
  2745.         mulscc  %o4,%i1,%o4
  2746.         mulscc  %o4,%i1,%o4
  2747.         mulscc  %o4,%i1,%o4
  2748.         mulscc  %o4,%i1,%o4
  2749.         mulscc  %o4,%i1,%o4
  2750.         mulscc  %o4,%i1,%o4
  2751.         mulscc  %o4,%i1,%o4
  2752.         mulscc  %o4,%i1,%o4
  2753.         mulscc  %o4,%i1,%o4
  2754.         mulscc  %o4,%i1,%o4
  2755.         mulscc  %o4,%i1,%o4
  2756.         mulscc  %o4,%i1,%o4
  2757.         mulscc  %o4,%i1,%o4
  2758.         mulscc  %o4,%i1,%o4
  2759.         mulscc  %o4,%i1,%o4
  2760.         mulscc  %o4,%i1,%o4
  2761.         mulscc  %o4,%i1,%o4
  2762.         mulscc  %o4,%i1,%o4
  2763.         mulscc  %o4,%i1,%o4
  2764.         mulscc  %o4,%i1,%o4
  2765.         mulscc  %o4,%i1,%o4
  2766.         mulscc  %o4,%i1,%o4
  2767.         mulscc  %o4,%i1,%o4
  2768.         mulscc  %o4,%i1,%o4
  2769.         mulscc  %o4,%i1,%o4
  2770.         mulscc  %o4,%i1,%o4
  2771.         mulscc  %o4,%i1,%o4
  2772.         mulscc  %o4,%i1,%o4
  2773.         mulscc  %o4,%i1,%o4
  2774.         mulscc  %o4,%i1,%o4
  2775.         mulscc  %o4,%i1,%o4
  2776.         mulscc  %o4,%g0,%o4
  2777.         tst     %i1
  2778.         bl,a    1f
  2779.         add     %o4,%i0,%o4
  2780. 1:      mov     %o4,%g2
  2781.         b       3f 
  2782.         rd      %y,%i0
  2783. 2:      clr     %g2
  2784.         mulscc  %o4,%i1,%o4
  2785.         mulscc  %o4,%i1,%o4
  2786.         mulscc  %o4,%i1,%o4
  2787.         mulscc  %o4,%i1,%o4
  2788.         mulscc  %o4,%i1,%o4
  2789.         mulscc  %o4,%i1,%o4
  2790.         mulscc  %o4,%i1,%o4
  2791.         mulscc  %o4,%i1,%o4
  2792.         mulscc  %o4,%i1,%o4
  2793.         mulscc  %o4,%i1,%o4
  2794.         mulscc  %o4,%i1,%o4
  2795.         mulscc  %o4,%i1,%o4
  2796.         mulscc  %o4,%g0,%o4
  2797.         rd      %y,%o5
  2798.         sll     %o4,12,%o4
  2799.         srl     %o5,20,%o5
  2800.         or      %o5,%o4,%i0
  2801. 3:       
  2802.  
  2803.     st %g2,[%i2]
  2804.     ret
  2805.     restore
  2806.     .global _in_saved_avma
  2807.     .common _in_saved_avma,8,"bss"
  2808.